home *** CD-ROM | disk | FTP | other *** search
/ Collection of Tools & Utilities / Collection of Tools and Utilities.iso / dirut / dx_264.zip / DX.DOC < prev    next >
Text File  |  1990-12-01  |  202KB  |  5,083 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.  
  20.           DDDDDDD                                                         
  21.           DDDDDDDD                                                        
  22.           DD    DD  IIIII  RRRR   EEEEE   CCC   TTTTT   OOO   RRRR   Y   Y
  23.           DD    DD    I    R   R  E      C   C    T    O   O  R   R  Y   Y
  24.           DD    DD    I    R   R  E      C        T    O   O  R   R   Y Y 
  25.           DD    DD    I    RRRR   EEEE   C        T    O   O  RRRR     Y  
  26.           DD    DD    I    R   R  E      C        T    O   O  R   R    Y  
  27.           DDDDDDDD    I    R   R  E      C   C    T    O   O  R   R    Y  
  28.           DDDDDDD   IIIII  R   R  EEEEE   CCC     T     OOO   R   R    Y  
  29.  
  30.  
  31.                    XX    XX                                              
  32.                    XX    XX                                              
  33.             EEEEE   XX  XX   TTTTT  EEEEE  N   N  DDDD   EEEEE  DDDD     
  34.             E        XXXX      T    E      NN  N  D   D  E      D   D    
  35.             E         XX       T    E      N N N  D   D  E      D   D    
  36.             EEEE     XXXX      T    EEEE   N  NN  D   D  EEEE   D   D    
  37.             E       XX  XX     T    E      N   N  D   D  E      D   D    
  38.             E      XX    XX    T    E      N   N  D   D  E      D   D    
  39.             EEEEE  XX    XX    T    EEEEE  N   N  DDDD   EEEEE  DDDD (TM)
  40.  
  41.  
  42.  
  43.  
  44.  
  45.  
  46.                             Version 2.0  of  December 1988
  47.  
  48.  
  49.                             Robert K. Blaine / ECONO-SOFT
  50.                                    P.O. Box 181030
  51.                                 Austin, TX 78718-1030
  52.                              800-367-7590,  512-832-1675
  53.  
  54.  
  55.                               CompuServe   [73267,1664]
  56.  
  57.  
  58.  
  59.  
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.                                 DISCLAIMER OF WARRANTY
  74.  
  75.          THIS SOFTWARE AND MANUAL ARE SOLD "AS IS" AND WITHOUT WARRANTIES AS
  76.          TO PERFORMANCE OF MERCHANTABILITY OR ANY  OTHER  WARRANTIES WHETHER
  77.          EXPRESSED OR IMPLIED.  IN NO EVENT SHALL ECONO-SOFT  OR  ROBERT  K.
  78.          BLAINE  BE  HELD  LIABLE  FOR  ANY  LOSS  OF  PROFIT  OR ANY  OTHER
  79.          COMMERCIAL DAMAGE RESULTING FROM THE USE OR MISUSE OF THIS PRODUCT,
  80.          INCLUDING BUT NOT LIMITED TO SPECIAL, INCIDENTAL,  CONSEQUENTIAL OR
  81.          OTHER DAMAGES.
  82.  
  83.          BECAUSE OF THE  VARIOUS  HARDWARE  AND  SOFTWARE  ENVIRONMENTS INTO
  84.          WHICH  THIS  PROGRAM  MAY  BE  PUT,  NO  WARRANTY  OF FITNESS FOR A
  85.          PARTICULAR PURPOSE IS OFFERED. THE USER MUST ASSUME THE ENTIRE RISK
  86.          OF USING THE PROGRAM.  ANY LIABILITY OF THE SELLER WILL  BE LIMITED
  87.          EXCLUSIVELY TO PRODUCT REPLACEMENT OR REFUND OF PURCHASE PRICE.
  88.  
  89.  
  90.          Throughout this document,  references  are  made  to  the following
  91.          trademarks:
  92.  
  93.              -  ARC is a trademark of System Enhancement Associates.
  94.  
  95.              -  DESQview is a trademark of Quarterdeck Office Systems.
  96.  
  97.              -  DX  and  Directory  eXtended  are  trademarks  of  Robert K.
  98.                 Blaine/ECONO-SOFT.
  99.  
  100.              -  DoubleDOS is a trademark of SoftLogic Solutions, Inc.
  101.  
  102.              -  Epson is a trademark of Epson Corporation.
  103.  
  104.              -  IBM,  PC-DOS,  and  TopView  are trademarks of International
  105.                 Business Machines Corporation.
  106.  
  107.              -  LIST is Copyrighted by Vernon D. Buerg.
  108.  
  109.              -  MS-DOS is a trademark of Microsoft Corporation.
  110.  
  111.              -  PCED is a trademark of Cove Software Group, Inc.
  112.  
  113.              -  Turbo Pascal is a trademark of Borland International, Inc.
  114.  
  115.  
  116.  
  117.  
  118.  
  119.  
  120.  
  121.  
  122.  
  123.  
  124.  
  125.  
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.  
  140.  
  141.  
  142.  
  143.  
  144.  
  145.                               C O N T E N T S
  146.  
  147.  
  148.             1.0  Introduction  . . . . . . . . . . . . . . . . . . . . . . 2
  149.                1.1  Feature Summary  . . . . . . . . . . . . . . . . . . . 2
  150.                1.2  The ShareWare Concept -- DX IS NOT FREE! . . . . . . . 4
  151.                1.3  A Sample Display . . . . . . . . . . . . . . . . . . . 5
  152.                1.4  General Syntax . . . . . . . . . . . . . . . . . . . . 6
  153.                1.5  System Requirements  . . . . . . . . . . . . . . . . . 8
  154.             2.0  Formatting Options  . . . . . . . . . . . . . . . . . . . 9
  155.                2.1  /Pause -- A Screenful at a Time  . . . . . . . . . . . 9
  156.                2.2  /Wide -- A Quick Look  . . . . . . . . . . . . . . . . 9
  157.                2.3  /SINGle -- One File Per Line . . . . . . . . . . . .  10
  158.                2.4  /Totals -- Statistics Only . . . . . . . . . . . . .  10
  159.                2.5  /HEader -- Setting the Header Level  . . . . . . . .  11
  160.                2.6  /STats -- Setting the Statistics Level . . . . . . .  11
  161.                2.7  /CAse -- Setting the Output Case . . . . . . . . . .  12
  162.                2.8  /12 -- Setting the Time Format . . . . . . . . . . .  12
  163.                2.9  Color Configuration  . . . . . . . . . . . . . . . .  12
  164.                   2.9.1  /BColor -- Background Color . . . . . . . . . .  13
  165.                   2.9.2  /FColor -- Foreground Color . . . . . . . . . .  13
  166.                   2.9.3  /DColor -- Directory Color  . . . . . . . . . .  13
  167.                   2.9.4  /ANSI -- xANSI Driver Support . . . . . . . . .  13
  168.                2.10  /Output -- Where to Send the Directory  . . . . . .  14
  169.                2.11  /PRint -- Formatting for the Printer  . . . . . . .  14
  170.                   2.11.1  /PRMode -- Establishing the Print Mode . . . .  15
  171.                   2.11.2  /PRMArg -- Setting Print Margins . . . . . . .  15
  172.                2.12  /FSBlink -- Causing /FSize Message to Blink . . . .  15
  173.                2.13  /Quiet -- Inhibit Informative Messages  . . . . . .  16
  174.                2.14  /NLines -- Specify Output Height  . . . . . . . . .  16
  175.                2.15  /ALign -- Aligning Extensions . . . . . . . . . . .  16
  176.                2.16  /ANgle -- Angle Bracket Directory Indicator . . . .  16
  177.                2.17  /DOTstar -- Automatic ".*"  . . . . . . . . . . . .  17
  178.             3.0  File Matching Options . . . . . . . . . . . . . . . . .  18
  179.                3.1  /Command -- Finding Commands . . . . . . . . . . . .  18
  180.                3.2  Extended Pattern Matching  . . . . . . . . . . . . .  18
  181.                3.3  File attribute Matching  . . . . . . . . . . . . . .  20
  182.                   3.3.1  /Full -- All Files  . . . . . . . . . . . . . .  20
  183.                   3.3.2  /ATtr -- Select File Attributes . . . . . . . .  21
  184.                3.4  /SIze -- Setting a Size Range  . . . . . . . . . . .  23
  185.                3.5  /SINce and /BEfore -- Date/Time Ranges . . . . . . .  23
  186.                3.6  Viewing ARChive and LiBRary Directories  . . . . . .  25
  187.                   3.6.1  /ARCDT -- Validating ARC/LBR Timestamps . . . .  26
  188.             4.0  Utility Options . . . . . . . . . . . . . . . . . . . .  27
  189.                4.1  /SOrt -- Sorting Files . . . . . . . . . . . . . . .  27
  190.                4.2  /FFind -- Searching Multiple Directories . . . . . .  28
  191.                4.3  /FSize -- Testing if File Transfer Possible  . . . .  29
  192.                4.4  /Ldir -- Listing Directory Names . . . . . . . . . .  29
  193.  
  194.  
  195.                                           i
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.                4.5  /CKsum -- Checksumming Files . . . . . . . . . . . .  30
  206.                4.6  /CRC -- Cyclic Redundancy Checks . . . . . . . . . .  30
  207.             5.0  Special Processing  . . . . . . . . . . . . . . . . . .  32
  208.                5.1  Target File Specifications . . . . . . . . . . . . .  32
  209.                5.2  /MOve and /COPy -- Moving/Copying Files  . . . . . .  33
  210.                   5.2.1  /APpend -- Append Files . . . . . . . . . . . .  35
  211.                   5.2.2  /MDir -- Create Missing Directories . . . . . .  36
  212.                   5.2.3  /RDir -- Remove Empty Directory . . . . . . . .  36
  213.                   5.2.4  /TDate -- Set Target File's Date/Time . . . . .  36
  214.                   5.2.5  /TAttr -- Set Target File Attributes  . . . . .  37
  215.                   5.2.6  /VLevel -- Verify Level . . . . . . . . . . . .  37
  216.                5.3  /COMPare -- Comparing Files  . . . . . . . . . . . .  38
  217.                5.4  /REName -- Renaming Files  . . . . . . . . . . . . .  39
  218.                5.5  /GOBak -- Reverting to Previous Versions . . . . . .  40
  219.                5.6  /FDate -- Changing File Date/Time Stamps . . . . . .  40
  220.                5.7  /FAttr -- Changing File Attributes . . . . . . . . .  41
  221.                5.8  /DELete -- Deleting Files  . . . . . . . . . . . . .  42
  222.                5.9  /VIew -- View FIles  . . . . . . . . . . . . . . . .  43
  223.                5.10  /RUn -- Immediate Command Execution . . . . . . . .  43
  224.                5.11  Verifying Special Processing  . . . . . . . . . . .  43
  225.                   5.11.1  Answering the Questions  . . . . . . . . . . .  44
  226.                   5.11.2  /Verify -- Normal Verification . . . . . . . .  44
  227.                   5.11.3  /OVerwrite -- Verifying File Overwrites  . . .  45
  228.                   5.11.4  /ROnly -- Read-only File Handling  . . . . . .  46
  229.                5.12  /LIst - Defining the LIST Processor . . . . . . . .  47
  230.                5.13  /DEfer -- Deferred Special Processing . . . . . . .  47
  231.                5.14  /MSP -- Multi-pass Special Processing . . . . . . .  48
  232.             6.0  Batch File Generation . . . . . . . . . . . . . . . . .  49
  233.                6.1  /Batch -- Specifying the Batch Template  . . . . . .  50
  234.                6.2  /EXec -- Controlling Automatic Execution . . . . . .  53
  235.                6.3  /CDir -- Automatic CHDIR Commands  . . . . . . . . .  55
  236.                6.4  Preview a Batch File / Create a List of Files  . . .  55
  237.                6.5  Matching Directories in Batch Files  . . . . . . . .  56
  238.             7.0  Customizing DX  . . . . . . . . . . . . . . . . . . . .  57
  239.             8.0  Using DX  . . . . . . . . . . . . . . . . . . . . . . .  60
  240.                8.1  Testing Termination Conditions . . . . . . . . . . .  60
  241.                8.2  Compatibility and Performance Considerations . . . .  61
  242.                   8.2.1  /VIDeo -- Controlling Direct Screen Access  . .  61
  243.                   8.2.2  /NONstd -- Handling Non-standard Environments .  61
  244.                   8.2.3  /NETaccess -- Handling Network Conflicts  . . .  62
  245.                   8.2.4  Enhancing DOS Performance . . . . . . . . . . .  62
  246.                8.3  Using DX with Command Line Enhancers . . . . . . . .  63
  247.                8.4  /ALTernate Pattern Separators  . . . . . . . . . . .  63
  248.                8.5  /INfo -- A Quick Reminder  . . . . . . . . . . . . .  64
  249.                8.6  Memory Utilization . . . . . . . . . . . . . . . . .  64
  250.                8.7  Aborting and Escaping  . . . . . . . . . . . . . . .  65
  251.                8.8  /SWatch -- Execution Time and ERRORLEVEL . . . . . .  65
  252.  
  253.          Appendix A.  Quick Reference                                     66
  254.  
  255.          Appendix B.  Registration Form                                   69
  256.  
  257.          Index                                                            71
  258.  
  259.  
  260.  
  261.                                          ii
  262.  
  263.  
  264.  
  265.  
  266.  
  267.          Directory eXtended                                      Version 2.0
  268.  
  269.  
  270.  
  271.  
  272.  
  273.          1.0  Introduction
  274.  
  275.  
  276.          DX was born out of the desire to  have  a  double  column directory
  277.          display. It has grown into a very powerful disk and file management
  278.          tool. Even if you never use  the  advanced features of DX, you will
  279.          find the output  much  more  informative  than  that  of  DOS's DIR
  280.          command.  There  are  two  major  distinctions between DX  and  the
  281.          plethora of other file managers in the world:
  282.  
  283.             1.  DX has a very powerful and  versatile  file-matching engine.
  284.                 You can search an entire disk and select a  group  of  files
  285.                 based on very sophisticated criteria --  unsurpassed  by any
  286.                 other  DOS  program!  Most  DOS  users  are   familiar  with
  287.                 directory  wildcards  --  the '?' being used  to  match  any
  288.                 single  character   and  the  '*'  to  match  zero  or  more
  289.                 characters.  DX  takes  this  concept  one  step  further by
  290.                 allowing  any  number  of  '*'s  and  additional  characters
  291.                 between  and  after  the  '*'s.  Multiple  patterns  may  be
  292.                 included and excluded. Files  may  be  selected  or excluded
  293.                 based  on  file attributes, sizes,  and  creation  date/time
  294.                 ranges.
  295.  
  296.             2.  DX  is  not  menu  or  mouse  oriented.  DX  is  aimed at  a
  297.                 significant portion of DOS users  who prefer to use a quick,
  298.                 command-line oriented utility to do their file management. A
  299.                 full-screen version of DX is under development for those who
  300.                 want the power of DX but prefer that environment.
  301.  
  302.          Using the matching engine  to  display  your  directory is only the
  303.          beginning. DX can perform just about any function  you  can imagine
  304.          on these files starting with  enhanced  versions  of  COPY, APPEND,
  305.          COMPARE,  MOVE,  DELETE,  and RENAME and continuing on to setting a
  306.          file's  attributes  or   creation   date/time  or  determining  its
  307.          checksum or CRC. If  none  of DX's built-in functions fit the bill,
  308.          you can have DX write a  batch  file  to process your files any way
  309.          you like! The possibilities are endless!
  310.  
  311.          Don't let the size of DX scare you  --  it  will  take the place of
  312.          many disk/file utilities that  you  now  use -- standardizing their
  313.          usage  and making your work easier. There  are  many  examples  and
  314.          suggestions in this manual  --  these  are  just the beginning; you
  315.          will undoubtedly think of many more!
  316.  
  317.  
  318.               1.1  Feature Summary
  319.  
  320.                   -  Full path and hard disk support.
  321.  
  322.  
  323.  
  324.  
  325.  
  326.  
  327.          Page 2                                             1.0 Introduction
  328.  
  329.  
  330.  
  331.  
  332.  
  333.          Version 2.0                                      Directory eXtended
  334.  
  335.  
  336.  
  337.                   -  A  very  powerful  and  flexible  file-matching  engine
  338.                      allowing multiple wildcards  and  additional characters
  339.                      following  and between  the  wildcard  characters.  For
  340.                      example, "DX *TEST" will match files  named "FILETEST",
  341.                      "XTEST", and "TEST"  while "DX ?*TEST" would only match
  342.                      files "FILETEST" and "XTEST".
  343.  
  344.                   -  Multiple file specifications can be  given  --  both as
  345.                      inclusion and exclusion. For example, "DX .BAS+.PAS;*T"
  346.                      will match files with extensions of  ".BAS"  and ".PAS"
  347.                      only if their names do not end with a "T".
  348.  
  349.                   -  DX can  search  all  directories,  list  all  directory
  350.                      names, and test  whether  a  set  of files can fit on a
  351.                      different disk.
  352.  
  353.                   -  DX can  search any and all ARChives and LiBRaries using
  354.                      full pattern matching;  compare files within an ARChive
  355.                      to files outside; rename and  change  the  date/time of
  356.                      files within ARChives.
  357.  
  358.                   -  You  can  specify  exactly  which  file  attributes  to
  359.                      display. See any hidden or system files.
  360.  
  361.                   -  You  can  select  files  between  (or  outside)   of  a
  362.                      specified range of file sizes and/or dates/times.
  363.  
  364.                   -  Have  you  ever  received a new disk and wanted to know
  365.                      immediately  what commands are available? An option  on
  366.                      DX will display all ".COM", ".EXE", and ".BAT" files.
  367.  
  368.                   -  DX suppresses the annoying "."  and  ".."  entries that
  369.                      are always present in directories.
  370.  
  371.                   -  DX can  sort  files  by  any  combination  of filename,
  372.                      extension,  size,  date/time,  or  file  attributes  --
  373.                      ascending or descending. Sort files within archives and
  374.                      libraries. The sorted output may be  across  the screen
  375.                      or columnar.
  376.  
  377.                   -  Move, copy, compare, delete,  and  rename  files across
  378.                      disks and  directories.  Append  files  to pre-existing
  379.                      files. Change file attributes and date/time stamp.
  380.  
  381.                   -  All of DX's special processing  may  be  verified  on a
  382.                      file-by-file    basis     (default)     or    performed
  383.                      automatically.
  384.  
  385.                   -  Produce either  a  Cyclic  Redundancy  Check  (CRC)  or
  386.                      checksum of your files for data  integrity  checking --
  387.                      useful in detecting Trojan horses!
  388.  
  389.  
  390.  
  391.  
  392.  
  393.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT         Page 3
  394.  
  395.  
  396.  
  397.  
  398.  
  399.          Directory eXtended                                      Version 2.0
  400.  
  401.  
  402.  
  403.                   -  You can carry all  of  the  extensive  pattern matching
  404.                      capabilities into  any  task  you  need  to  perform by
  405.                      having DX generate (and optionally  internally execute)
  406.                      DOS batch files  for  you. Couple this with the ability
  407.                      to search all  directories, archives, and libraries and
  408.                      you can build  batch  files to process your entire hard
  409.                      disk.
  410.  
  411.                   -  DX has an extensive set of output formatting options --
  412.                      including  colors, printer formatting, UPPER, lower  or
  413.                      Initial Caps cases, 12 or  24  hour  time  formats, and
  414.                      screen width, height, and screen-handling options.
  415.  
  416.                   -  DX is fully customizable -- set  your  favorite options
  417.                      once and they will always be used.
  418.  
  419.                   -  Make decisions in batch files based  on  the ERRORLEVEL
  420.                      set  by DX -- i.e. if files or  disks  exist  or  don't
  421.                      exist; if  files  compare;  if  a  copy,  move, rename,
  422.                      delete, etc. was successful or not.
  423.  
  424.  
  425.  
  426.               1.2  The ShareWare Concept -- DX IS NOT FREE!
  427.  
  428.               DX  is  released  as ShareWare and, as such, is dependent upon
  429.               your support for ongoing development.  You  are  encouraged to
  430.               freely copy and distribute this product (DX.EXE and DX.DOC) to
  431.               friends, business associates, and user groups. It  is expected
  432.               that  DX  will  only be available commercially at some time in
  433.               the future. THIS PRODUCT IS NOT FREE! You  have  an evaluation
  434.               period of two weeks. If you decide not to use DX,  simply pass
  435.               the  disk along to someone else. If you  are  still  using  DX
  436.               after two weeks of  evaluation,  you  are  obligated to send a
  437.               registration fee of  $49.95 (includes  a printed  manual).  If
  438.               the future of low-cost,  quality  software  is to continue, we
  439.               all must support this concept.
  440.  
  441.               Send any comments,  suggestions, questions, or problem reports
  442.               to the  address  below.  Customized  versions  are  available.
  443.               Dealer   inquiries   are   welcome.  Corporate  discounts  are
  444.               available. (Please  quote  your  version  number  --  from the
  445.               program, not the documentation -- on all correspondence.)
  446.  
  447.               Texas residents please add 8% sales tax.
  448.  
  449.               Appendix B has a convenient form to use  for  registration and
  450.               ordering. Please address all payments and correspondence to:
  451.  
  452.                    ECONO-SOFT                        CompuServe [73267,1664]
  453.                    P.O. Box 181030                              512-832-1675
  454.                    Austin, TX 78718-1030                        800-367-7590
  455.  
  456.  
  457.  
  458.  
  459.          Page 4                                          1.1 Feature Summary
  460.  
  461.  
  462.  
  463.  
  464.  
  465.          Version 2.0                                      Directory eXtended
  466.  
  467.  
  468.  
  469.               Mastercard and VISA are accepted.  Our  policy  includes  a 30
  470.               day, no questions asked guarantee.
  471.  
  472.  
  473.  
  474.               1.3  A Sample Display
  475.  
  476.               DX's default output mode is a two column  display  which gives
  477.               much more information about  a  disk  and directory than DOS's
  478.               DIR command. While reading this  information,  why  not simply
  479.               type  "DX"  and  compare  the  display   with   the  following
  480.               discussion. A sample output is shown here:
  481.  
  482.  
  483. Volume [E:RAM Disk] created: 88-Dec-16 18:33:14;             Directory of [E:\]
  484.  
  485. Temp         --dir--     88dec16 21:30 | Dx.Exe         71216 r   88dec12  8:04
  486. List.Com        8191 r   88jul08  3:53 | Path.Bat         103 a   88dec16 18:33
  487. Sk1.Swp       378880 a   88dec16 21:13 | Sk4.Swp       301104 a   88dec16 18:32
  488. St.Exe         11152 r   88may12  1:19 | Xx.Spr           981 a   88dec16 21:20
  489.  
  490.     771,627 bytes in 8 files.               774,144 bytes allocated (1% slack).
  491.     516,096 bytes free (40%).                 1,024 byte minimum allocation.   
  492.   1,291,264 bytes total on: RAM Disk.               Attributes hidden: none.   
  493.  
  494.  
  495.               The first line contains the volume  name,  creation date/time,
  496.               if  present,  and  the  file  specification  given  for  file-
  497.               matching.
  498.  
  499.               For  each  file,  its  name,  extension, size in  bytes,  file
  500.               attributes, and date/time of last modification  are  shown. An
  501.               'a' appears  in the attribute field if the 'Archive' attribute
  502.               is set for this file. This attribute indicates  that  the file
  503.               has been created or modified  since the last disk BACKUP (this
  504.               is of primary interest to hard disk users). An 'r'  appears if
  505.               the  file  has  been  marked  as  'Read-only'.  This attribute
  506.               indicates that DOS will not allow the file to  be  deleted  or
  507.               written over. An 'h' appears if the file is  'Hidden'  and  an
  508.               's' appears if the file is a 'System' file.  (These  last  two
  509.               attributes are not displayed by default -- see section 3.3 for
  510.               more  information.)  The  designation  '--dir--'  indicates  a
  511.               directory.
  512.  
  513.               The  statistics  printed  at  the  end  contain  the following
  514.               information: the  number of files matched and the total number
  515.               of bytes in those files; the actual amount of space allocated;
  516.               the percentage of "slack" or wasted space (or percentage saved
  517.               in an archive);  the  number  of  bytes free on the device and
  518.               what percentage  of total disk space that represents; the size
  519.               of an allocation  unit  (DOS allocates disk space in multiples
  520.               of this amount); the total disk space and type  of  the  disk;
  521.               and an indication of which file attributes were not displayed.
  522.  
  523.  
  524.  
  525.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT         Page 5
  526.  
  527.  
  528.  
  529.  
  530.  
  531.          Directory eXtended                                      Version 2.0
  532.  
  533.  
  534.  
  535.               (Other information may be  displayed  if  certain  options are
  536.               selected.)
  537.  
  538.               The type of disk will be one of the following:
  539.  
  540.                    Disk Type          Sides Sectors/Track  Size    Ref
  541.                    SS/8s Floppy       1     8              160 KB  DOS 1
  542.                    SS/9s Floppy       1     9              180 KB  DOS 2+
  543.                    DS/8s Floppy       2     8              320 KB  DOS 1
  544.                    DS/9s Floppy       2     9              360 KB  DOS 2+
  545.                    QD/15s or 3.5"/9s  2     15             1.2 MB  PC/AT
  546.                                       2     9              740 KB  PS/2
  547.                    3.5"/18s Floppy    2     18             1.44 MB PS/2
  548.                    Hard Disk          Hard (fixed) Disk.
  549.                    RAM Disk           RAM or virtual disk.
  550.                    NET Disk           Network (remote) drive.
  551.  
  552.  
  553.               The  "Attributes hidden" indicator will either display  "none"
  554.               -- which indicates that  all  files  were considered for file-
  555.               matching  --  or  a list of attributes that were not selected.
  556.               For  example,  if  the  disk  were  bootable,  the designation
  557.               "Attributes hidden: HS" would be displayed indicating  that in
  558.               order to see  the  hidden  and  system  files  present  in the
  559.               directory, it is necessary to include the H and S flags on the
  560.               /ATtr switch.  By default, hidden and system are not displayed
  561.               -- remember any of  these  options  may  be customized to your
  562.               taste (see section 3.3).
  563.  
  564.  
  565.  
  566.               1.4  General Syntax
  567.  
  568.               DX's command format complies with the original DOS standard --
  569.               i.e. the standard that DOS was modeled after.  The  problem in
  570.               the PC community is that everyone has a better idea for syntax
  571.               so there really are no  standards. This syntax conforms to all
  572.               DOS utilities. The  format  is shown below and then explained.
  573.               Items within square brackets are optional, items  within curly
  574.               braces may be repeated any number of times, and a vertical bar
  575.               indicates that you should pick one of them (believe it or not,
  576.               some people actually like to see this format):
  577.  
  578.                    DX [/switch {/switch}] [filespec] [/switch {/switch}]
  579.  
  580.               The syntax for a file specification is as follows:
  581.  
  582.                    filespec ::= [d:][path][[;]pattern{+pattern|;pattern}]
  583.  
  584.               The syntax for a switch designation is as follows:
  585.  
  586.                    switch ::= /name[-|:[-]value[:value]|=[-]value[:value]]
  587.  
  588.  
  589.  
  590.  
  591.          Page 6                                         1.3 A Sample Display
  592.  
  593.  
  594.  
  595.  
  596.  
  597.          Version 2.0                                      Directory eXtended
  598.  
  599.  
  600.  
  601.               Now what does that  mean  to the average user? There are three
  602.               major parts to the command line. The first is  the  name  (and
  603.               possibly  the  drive  and path) where DOS should load DX from.
  604.               The second part is the file specification and  the  third part
  605.               consists of option selection. This is done via switches.
  606.  
  607.               The file specification defaults to  "*.*" -- that is all files
  608.               with all  extensions in the current directory of the currently
  609.               logged disk. A  drive  and/or path specification may be given.
  610.               If a path starts with a back-slash ("\") the path  starts from
  611.               the root of the directory tree, otherwise the path starts from
  612.               the current directory level. If the file specification ends in
  613.               a directory name, all files  in  that  directory  are selected
  614.               implicitly. Currently, wildcards are not allowed in  the drive
  615.               or path portions of  the  file  specification and this portion
  616.               cannot be repeated.
  617.  
  618.               The last name in the "path" specification may be an archive or
  619.               library name -- thus allowing archives and libraries to become
  620.               a  logical extension to the DOS path.  This  is  described  in
  621.               detail in section 3.6.
  622.  
  623.               After the drive and path, any number of optional file patterns
  624.               may be given. Refer to section 3.2 for detailed information on
  625.               pattern matching.
  626.  
  627.               Throughout this document,  switch  names  are  shown  in mixed
  628.               upper/lower case. The portion  in  upper  case  represents the
  629.               minimum abbreviation. For example, the "/SINce" switch  may be
  630.               given as "/SINCE", "/SINC",  and  "/SIN",  but not "/SI" since
  631.               that is a valid abbreviation for the "/SIze" switch.
  632.  
  633.               Switches may be specified either  after  the  command  name or
  634.               after the file  specification.  There  may  be  spaces between
  635.               switches, after the command name, and between a switch and the
  636.               file specification. There may  not  be  any spaces between the
  637.               '/' that starts  the  switch,  the  name of the switch, or any
  638.               values associated with that switch.
  639.  
  640.               In general a switch is either on or off, and  may  have one or
  641.               two values associated with it. Let's use "SW" as the name of a
  642.               sample switch. The notation "/SW" will turn the switch on, and
  643.               "/SW-" will  turn the switch off. "/SW:value" supplies a value
  644.               to the switch and  "/SW:value:value"  supplies  two  values. A
  645.               switch value may be  a  single  character  option, a string, a
  646.               number, a  keyword, or a complete file specification. For each
  647.               switch discussed in this documentation,  the  types  of values
  648.               and their defaults are  given.  The '=' may be used instead of
  649.               ':'  to  assign  values  to  a  switch  as in  "/SW=value"  or
  650.               "/SW=value:value"   (this  format  is  not  possible  on   DOS
  651.               environment variables -- see section 7).
  652.  
  653.  
  654.  
  655.  
  656.  
  657.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT         Page 7
  658.  
  659.  
  660.  
  661.  
  662.  
  663.          Directory eXtended                                      Version 2.0
  664.  
  665.  
  666.  
  667.               DOS limits the length of a command line to 127  characters. If
  668.               you need more room to enter your commands to  DX,  simply  end
  669.               the  current line with a comma (',');  DX  will  then  solicit
  670.               continuation  lines.  DX  limits  the total file specification
  671.               pattern and the total switch specification  to  255 characters
  672.               each -- of course, they can be intermixed.
  673.  
  674.  
  675.  
  676.               1.5  System Requirements
  677.  
  678.                   -  Any IBM PC family or PS/2 or compatible.
  679.  
  680.                   -  About  88k  above  that used by DOS  and  any  resident
  681.                      software.  (Special  and  Batch processing require more
  682.                      memory).
  683.  
  684.                   -  Color or monochrome monitor.
  685.  
  686.                   -  MS/PC-DOS 2.x, 3.x, or 4.x.
  687.  
  688.                   -  DX  runs  under  Topview,  DesqView, DoubleDos, and the
  689.                      OS/2 Compatibility Option (see  section  8.2.1)  and is
  690.                      compatible with most networks.
  691.  
  692.  
  693.  
  694.  
  695.  
  696.  
  697.  
  698.  
  699.  
  700.  
  701.  
  702.  
  703.  
  704.  
  705.  
  706.  
  707.  
  708.  
  709.  
  710.  
  711.  
  712.  
  713.  
  714.  
  715.  
  716.  
  717.  
  718.  
  719.  
  720.  
  721.  
  722.  
  723.          Page 8                                      1.5 System Requirements
  724.  
  725.  
  726.  
  727.  
  728.  
  729.          Version 2.0                                      Directory eXtended
  730.  
  731.  
  732.  
  733.  
  734.  
  735.          2.0  Formatting Options
  736.  
  737.  
  738.          This section describes switches  that  modify  how the directory is
  739.          displayed. Keep in mind  that  when you decide what format you like
  740.          best, you can customize  DX  to always use that format (see section
  741.          7).
  742.  
  743.  
  744.  
  745.               2.1  /Pause -- A Screenful at a Time
  746.  
  747.               The /Pause option is used to cause DX to stop when  the screen
  748.               fills and wait for any key to be struck. Examples:
  749.  
  750.                   dx /p                    => list full directory; pause
  751.                                               when screen fills
  752.  
  753.               This switch  is automatically turned off by /Output and /Batch
  754.               and the use of special processing.
  755.  
  756.               The  /Pause switch may take the  keyword  values  'Screen'  or
  757.               'Directory'.  The default is 'Screen'; 'Directory' will  cause
  758.               DX to pause between directories, archives, and libraries (when
  759.               used with the /FFind option):
  760.  
  761.                   dx /p:d /ffind           => search the entire disk pausing
  762.                                               whenever the screen fills or a
  763.                                               new directory is entered
  764.  
  765.               When  DX has paused, you may type a  "G"  to  prevent  further
  766.               pausing.
  767.  
  768.  
  769.  
  770.               2.2  /Wide -- A Quick Look
  771.  
  772.               The  /Wide  option  is  used  to display 5 entries across  the
  773.               screen when operating in normal  mode. When used with the List
  774.               Directory option ("/Ldir"), as  many  directories  as possible
  775.               are displayed across the screen. Examples:
  776.  
  777.                   dx /w                    => list all files in the current
  778.                                               directory in a wide format
  779.  
  780.  
  781.  
  782.  
  783.  
  784.  
  785.  
  786.  
  787.  
  788.  
  789.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT         Page 9
  790.  
  791.  
  792.  
  793.  
  794.  
  795.          Directory eXtended                                      Version 2.0
  796.  
  797.  
  798.  
  799.               2.3  /SINGle -- One File Per Line
  800.  
  801.               The /SINGle option is  used  to display one file per line with
  802.               some more information than is otherwise displayed.  Some extra
  803.               spaces  are  inserted  for  increased  readability,  the  file
  804.               modification time is displayed with seconds, and the amount of
  805.               space actually  allocated to the file is shown in parentheses.
  806.               (The  seconds field is only accurate  to  within  two  seconds
  807.               because of the way DOS stores packed times.)
  808.  
  809.                   DX /single               => list all files in the current
  810.                                               directory one file per line
  811.  
  812.                   DX \*.pas/sing/ff        => starting in the root, search
  813.                                               the entire disk for any pascal
  814.                                               files and list them one file
  815.                                               per line
  816.  
  817.  
  818.  
  819.               2.4  /Totals -- Statistics Only
  820.  
  821.               The /Totals option causes DX to output the  file  totals only.
  822.               The body of  the  display -- filenames, sizes, attributes, and
  823.               date/times  are  not  displayed. If used with  the  File  Find
  824.               option ("/FFind"),  you may want to specify only the directory
  825.               subtotals, or only  the  grand totals. These are selected with
  826.               the 'Subtotals' or 'Global' qualifiers as shown:
  827.  
  828.                   dx /t                    => list the totals for all files
  829.                                               in the current directory
  830.  
  831.                   dx test.*/ffind/t:s      => starting from the current
  832.                                               directory, list the subtotals
  833.                                               by directory for all files
  834.                                               matching test.* in the current
  835.                                               directory and all
  836.                                               subdirectories
  837.  
  838.                   dx \*b/ff/totals:global  => starting at the root, search
  839.                                               the entire disk for files that
  840.                                               end in "b" and print only the
  841.                                               grand total
  842.  
  843.               ("/Totals:Off" is equivalent to "/Totals-" and is  the default
  844.               -- i.e. directories are listed along with totals.)
  845.  
  846.  
  847.  
  848.  
  849.  
  850.  
  851.  
  852.  
  853.  
  854.  
  855.          Page 10                            2.3 /SINGle -- One File Per Line
  856.  
  857.  
  858.  
  859.  
  860.  
  861.          Version 2.0                                      Directory eXtended
  862.  
  863.  
  864.  
  865.               2.5  /HEader -- Setting the Header Level
  866.  
  867.               The /HEader option determines  how  many  lines of heading are
  868.               output. This switch takes a numeric value between 0 and  2. If
  869.               the switch is not  specified,  the  value  defaults to 2 which
  870.               gives all heading  lines.  A  value  of  1  will  suppress the
  871.               Copyright line. A value of 0 will suppress all headers.
  872.  
  873.                   dx /he:1                 => list all files in the current
  874.                                               directory; omit the copyright
  875.                                               headline
  876.  
  877.                   dx files /header:0       => list all files matching
  878.                                               "files.*" with no heading
  879.  
  880.  
  881.  
  882.               2.6  /STats -- Setting the Statistics Level
  883.  
  884.               The /STats  option determines how many lines of statistics are
  885.               displayed at the end  of  the  directory.  This switch takes a
  886.               numeric  argument  between  0  and  4. The default value of  4
  887.               selects  all  statistics.  A value of 3 will suppress the last
  888.               line which contains the total size of the disk,  the  type  of
  889.               disk, and what attributes were not selected. A value of 2 will
  890.               also suppress the total space allocated by the selected files,
  891.               the percentage  of wasted space, and the minimum allocation. A
  892.               value of 1 will only display the number of files and number of
  893.               bytes matched -- this avoids  the  "Free  space" determination
  894.               which  can be time consuming on a hard disk. A value of 1 also
  895.               shows  how many directories were scanned  via  the  File  Find
  896.               (/FFind) or List Directory (/Ldir)  options. A value of 0 will
  897.               suppress  all statistics including those generated by  special
  898.               processing.
  899.  
  900.                   dx /stat:0               => turn off all statistics
  901.  
  902.                   dx files/st=1            => list all files matching
  903.                                               "files.*" listing the number
  904.                                               of files and number of bytes
  905.                                               matched
  906.  
  907.               Two values may be given in which case the second value is used
  908.               on hard  disks  only  which  may  be  used to prevent the time
  909.               consuming free space computation on large hard disks:
  910.  
  911.                   dx /st:4:1               => level 1 statistics on hard
  912.                                               disks; full statistics on all
  913.                                               other disks
  914.  
  915.  
  916.  
  917.  
  918.  
  919.  
  920.  
  921.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 11
  922.  
  923.  
  924.  
  925.  
  926.  
  927.          Directory eXtended                                      Version 2.0
  928.  
  929.  
  930.  
  931.               2.7  /CAse -- Setting the Output Case
  932.  
  933.               The  /CAse  switch  selects  whether  the  output   should  be
  934.               displayed in all upper case, all lower case,  or  with initial
  935.               caps (the first character of each  word  capitalized). Initial
  936.               caps  ("/CAse:Initial") is the default; specify  "/CAse:Lower"
  937.               for lower case and "/CAse:Upper" for upper case:
  938.  
  939.                   dx /ca:u                 => desplay the directory in upper
  940.                                               case
  941.  
  942.                   dx *.asm /case:low       => display all "*.asm" files in
  943.                                               lower case
  944.  
  945.  
  946.  
  947.               2.8  /12 -- Setting the Time Format
  948.  
  949.               The /12 switch  selects  12 hour format when displaying times.
  950.               The default is 24 hour format:
  951.  
  952.                   dx /12                   => use 12-hour format
  953.  
  954.  
  955.  
  956.               2.9  Color Configuration
  957.  
  958.               If no colors are specified, DX will set its  colors  to  match
  959.               the current on-screen colors of the left-most character of the
  960.               line above the cursor position when DX is  loaded.  This means
  961.               that DX will blend  in  with  whatever  screen colors you have
  962.               selected  for DOS. If you want DX to  come  up  with  specific
  963.               colors, use the following three  switches  (to  make  them the
  964.               default, see section 7). Each  switch  takes  a  color keyword
  965.               (they may be abbreviated as shown in capital letters):
  966.  
  967.               Keyword                Color     Keyword                Color
  968.               Black ................ Black     GRAy ............. Dark Gray
  969.               BLUe .................. Blue     LBlue ........... Light Blue
  970.               Green ................ Green     LGREen ......... Light Green
  971.               Cyan .................. Cyan     LCyan ........... Light Cyan
  972.               Red .................... Red     LRed ............ Bright Red
  973.               Magenta ............ Magenta     LMagenta .... Bright Magenta
  974.               BRown ................ Brown     Yellow ....... Bright Yellow
  975.               Lgray ........... Light Gray     White ......... Bright White
  976.  
  977.               Some color displays, the 3270-PC  for  example,  cannot accept
  978.               the high-intensity colors  (the  second  column).  If  a high-
  979.               intensity  color  is  used  on  one  of  these  displays,  the
  980.               corresponding low-intensity color will appear instead.
  981.  
  982.  
  983.  
  984.  
  985.  
  986.  
  987.          Page 12                        2.7 /CAse -- Setting the Output Case
  988.  
  989.  
  990.  
  991.  
  992.  
  993.          Version 2.0                                      Directory eXtended
  994.  
  995.  
  996.  
  997.                    2.9.1  /BColor -- Background Color
  998.  
  999.                    The background color  may  be  selected  via  the /BColor
  1000.                    switch. Only colors on the left side of  the  above table
  1001.                    (Black  ..  Lgray  -- low intensity) should be used. If a
  1002.                    high intensity color is selected, the low intensity color
  1003.                    will  actually  display  and  the foreground display will
  1004.                    blink. The default is determined by the current colors at
  1005.                    the cursor position when DX is started:
  1006.  
  1007.                        dx /bcolor:bl          => set background black
  1008.  
  1009.                        dx /bc:cyan            => set background cyan
  1010.  
  1011.  
  1012.                    2.9.2  /FColor -- Foreground Color
  1013.  
  1014.                    The foreground color  may  be  selected  via  the /FColor
  1015.                    switch.  Any  of  the  colors  in the above table may  be
  1016.                    specified. The  default  is  determined  by  the  current
  1017.                    colors at the cursor position when DX is started:
  1018.  
  1019.                        dx /fc=gr              => set foreground gray
  1020.  
  1021.                        dx /fcolor:black       => set foreground black
  1022.  
  1023.  
  1024.                    2.9.3  /DColor -- Directory Color
  1025.  
  1026.                    DX highlights certain parts  of  its  display  using  the
  1027.                    color specified by /DColor  (this  includes  the Diretory
  1028.                    name, volume name, and verification questions). Any color
  1029.                    in the above table may be specified. The default for this
  1030.                    color is  based on the foreground color and is determined
  1031.                    by  toggling  the  high  intensity screen attribute. This
  1032.                    means that  if the foreground color is brown, the default
  1033.                    directory color is bright yellow, and  if  the foreground
  1034.                    color is light blue, the default directory color is blue.
  1035.                    (If  run  on  a  display  that  does  not  support  high-
  1036.                    intensity,  directories  will  not be high-lighted unless
  1037.                    you specify this switch.) This color may be specified by:
  1038.  
  1039.                        dx /dc:blu             => set directories blue
  1040.  
  1041.                        dx /dcol:yellow        => set directories yellow
  1042.  
  1043.  
  1044.                    2.9.4  /ANSI -- xANSI Driver Support
  1045.  
  1046.                    Colors are normally  set  through  the  system  BIOS. The
  1047.                    /ANSI switch when used in conjunction with  screen output
  1048.                    through DOS (see /Output, section 2.10)  will  set colors
  1049.                    via standard ANSI escape sequences.
  1050.  
  1051.  
  1052.  
  1053.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 13
  1054.  
  1055.  
  1056.  
  1057.  
  1058.  
  1059.          Directory eXtended                                      Version 2.0
  1060.  
  1061.  
  1062.  
  1063.                        dx /fc:bl /bc:cy /out /ansi
  1064.                                               => set black on cyan; send
  1065.                                                  ANSI sequences to DOS
  1066.  
  1067.  
  1068.  
  1069.               2.10  /Output -- Where to Send the Directory
  1070.  
  1071.               The /Output switch is  used  to specify an output file. DOS is
  1072.               not  normally  used  for screen output at all (this means that
  1073.               the DOS RAW mode setting has no effect). This allows colors to
  1074.               be used and  speeds  up the screen display. Specifying /Output
  1075.               causes output to go through DOS in one  of  two  ways.  If the
  1076.               switch is given without a value, then DOS  standard  output is
  1077.               used. This allows  redirection  (via  '>')  and  piping ('|').
  1078.               Redirection  allows  you  to route the output to any device or
  1079.               file -- including  'NUL'  which  discards  all  output. Piping
  1080.               allows  you to send the output of DX  to  another  program  as
  1081.               input  to  that  program. A file specification may be given to
  1082.               /Output which is the preferred method of output to disk  as it
  1083.               will run significantly faster than redirecting to a disk file.
  1084.               Examples:
  1085.  
  1086.                   dx /output:a:\misc\fred  => output to "a:\misc\fred"
  1087.  
  1088.                   dx file1.?xx/o | myprog  => pipe output to "myprog"
  1089.  
  1090.                   dx /o:nul                => discard output entirely
  1091.  
  1092.                   dx /out >a:fred          => redirect output to a:fred
  1093.                                               ("/out:a:fred" is more
  1094.                                               efficient)
  1095.  
  1096.  
  1097.  
  1098.               2.11  /PRint -- Formatting for the Printer
  1099.  
  1100.               The /PRint switch is used to format the output for  a printer.
  1101.               This  switch  automatically  selects  "/Output:PRN"   but  the
  1102.               /Output switch may be explicitly specified. A printer type may
  1103.               be given  as  a  value  to  the  switch but currently the only
  1104.               printers that may be specified  are 'Epson' and 'Ibm' and they
  1105.               do the  same  thing!  'Epson'  is  the  default so there is no
  1106.               reason to specify them at all. Other printers may be  added in
  1107.               the future. If this switch does not work well on your printer,
  1108.               please write.
  1109.  
  1110.               The print formatting consists of setting skip over perforation
  1111.               to 6, not starting a new directory in the last 12 lines of the
  1112.               page, and highlighting directory names by double-striking.
  1113.  
  1114.  
  1115.  
  1116.  
  1117.  
  1118.  
  1119.          Page 14                 2.10 /Output -- Where to Send the Directory
  1120.  
  1121.  
  1122.  
  1123.  
  1124.  
  1125.          Version 2.0                                      Directory eXtended
  1126.  
  1127.  
  1128.  
  1129.                   dx a:/print              => send printer formatted output
  1130.                                               to "prn"
  1131.  
  1132.                   dx .pas /pr /out:lpt3:   => send printer formatted output
  1133.                                               to "lpt3:"
  1134.  
  1135.                   dx /pr/out:b:myfile      => format for IBM printer and
  1136.                                               send output to "b:myfile"
  1137.  
  1138.  
  1139.                    2.11.1  /PRMode -- Establishing the Print Mode
  1140.  
  1141.                    The /PRMode switch selects the  type  size  (font)  to be
  1142.                    used   when  printing.  The  default  is  'Normal',   but
  1143.                    'Compressed'  and  'Tiny'  may  be used. 'Compressed' and
  1144.                    'Tiny' both allow more columns  across  the  page; 'Tiny'
  1145.                    allows more lines on the page.
  1146.  
  1147.                        dx /pr/prm:c           => format compressed output
  1148.                                                  and send to "prn"
  1149.  
  1150.                        dx /pr/prmode:tiny     => format tiny output and send
  1151.                                                  to "prn"
  1152.  
  1153.  
  1154.                    2.11.2  /PRMArg -- Setting Print Margins
  1155.  
  1156.                    The /PRMArg switch allows you  to  specify  the  left and
  1157.                    right print margins. If  you  give  only the left margin,
  1158.                    the right margin is set to 80 (normal) or 121 (compressed
  1159.                    and tiny) columns  past  the  left  margin.  Specifying a
  1160.                    larger right  margin assumes that you have a printer that
  1161.                    can handle the increased width.
  1162.  
  1163.                        dx /pr/prma:5          => use print margins 5:80;
  1164.                                                  send output to "prn"
  1165.  
  1166.                        dx /pr/prm:comp/prmarg:10:240
  1167.                                               => use print margins 10 and
  1168.                                                  240; format compressed
  1169.                                                  output and send to "prn"
  1170.  
  1171.  
  1172.  
  1173.               2.12  /FSBlink -- Causing /FSize Message to Blink
  1174.  
  1175.               The  /FSBlink  switch  will  cause  the  "SUFFICIENT"  or "NOT
  1176.               SUFFICIENT" message  from /FSize to blink. See section 4.3 for
  1177.               information on /FSize.
  1178.  
  1179.                   dx /fs:b/fsb             => message will blink
  1180.  
  1181.  
  1182.  
  1183.  
  1184.  
  1185.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 15
  1186.  
  1187.  
  1188.  
  1189.  
  1190.  
  1191.          Directory eXtended                                      Version 2.0
  1192.  
  1193.  
  1194.  
  1195.               2.13  /Quiet -- Inhibit Informative Messages
  1196.  
  1197.               The  /Quiet  switch  will  inhibit  the  flashing  informative
  1198.               "quick" messages -- the ones that tell you  what  directory DX
  1199.               is scanning or sorting or what file is being checksummed, etc.
  1200.               This  may  be  useful in batch files where you may not want to
  1201.               see them.
  1202.  
  1203.                   dx /q                    => inhibit all informative
  1204.                                               "quick" messages
  1205.  
  1206.  
  1207.  
  1208.               2.14  /NLines -- Specify Output Height
  1209.  
  1210.               The /NLines switch may  be  used to specify the height of your
  1211.               screen or printer page. If this switch is  not  specified, the
  1212.               screen height is taken from the system BIOS (usually 25 lines)
  1213.               and  the printed page is assumed to be  66  lines  tall.  This
  1214.               switch  may  be  useful  when  running  DX  under  a  windowed
  1215.               environment.
  1216.  
  1217.                   dx /nl=15                => set screen height to 15
  1218.  
  1219.               NOTE that since DX takes the screen height and width  from the
  1220.               BIOS, the EGA/VGA screen heights of 43 and 50  lines  (in  8x8
  1221.               modes) and widths of 132 characters will be supported. DX will
  1222.               not set  these modes directly but will format output correctly
  1223.               for them if you use them.
  1224.  
  1225.  
  1226.  
  1227.               2.15  /ALign -- Aligning Extensions
  1228.  
  1229.               The  /ALign  switch  will cause DX to  align  file  extensions
  1230.               similar to the way DOS's DIR does.
  1231.  
  1232.                   dx /al                   => align extensions
  1233.  
  1234.  
  1235.  
  1236.               2.16  /ANgle -- Angle Bracket Directory Indicator
  1237.  
  1238.               The /ANgle switch will cause DX to indicate  a  directory with
  1239.               "<DIR>" as DOS's DIR does instead of "--dir--".
  1240.  
  1241.                   dx /an                   => use "<DIR>" instead of "--
  1242.                                               dir--"
  1243.  
  1244.  
  1245.  
  1246.  
  1247.  
  1248.  
  1249.  
  1250.  
  1251.          Page 16                 2.13 /Quiet -- Inhibit Informative Messages
  1252.  
  1253.  
  1254.  
  1255.  
  1256.  
  1257.          Version 2.0                                      Directory eXtended
  1258.  
  1259.  
  1260.  
  1261.               2.17  /DOTstar -- Automatic ".*"
  1262.  
  1263.               DX normally appends ".*" to any  directory  specification that
  1264.               does not include a "." -- you can turn this off by:
  1265.  
  1266.                   dx /dot-                 => do not assume ".*"
  1267.  
  1268.  
  1269.  
  1270.  
  1271.  
  1272.  
  1273.  
  1274.  
  1275.  
  1276.  
  1277.  
  1278.  
  1279.  
  1280.  
  1281.  
  1282.  
  1283.  
  1284.  
  1285.  
  1286.  
  1287.  
  1288.  
  1289.  
  1290.  
  1291.  
  1292.  
  1293.  
  1294.  
  1295.  
  1296.  
  1297.  
  1298.  
  1299.  
  1300.  
  1301.  
  1302.  
  1303.  
  1304.  
  1305.  
  1306.  
  1307.  
  1308.  
  1309.  
  1310.  
  1311.  
  1312.  
  1313.  
  1314.  
  1315.  
  1316.  
  1317.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 17
  1318.  
  1319.  
  1320.  
  1321.  
  1322.  
  1323.          Directory eXtended                                      Version 2.0
  1324.  
  1325.  
  1326.  
  1327.  
  1328.  
  1329.          3.0  File Matching Options
  1330.  
  1331.  
  1332.          The  heart  of  DX  is  a very powerful file-matching engine.  Many
  1333.          possibilities exist for selecting and excluding files.
  1334.  
  1335.  
  1336.  
  1337.               3.1  /Command -- Finding Commands
  1338.  
  1339.               The /Command switch  is  used  to  match  only  files  with an
  1340.               extension of ".COM", ".EXE", and  ".BAT".  This  is  useful in
  1341.               answering the question: "I just got this disk  from  Joe; what
  1342.               am I supposed to type to start the program?"
  1343.  
  1344.                   dx /c b:                 => show all commands on "b:"
  1345.  
  1346.               This is  exactly  equivalent  to  (this  pattern  is described
  1347.               below):
  1348.  
  1349.                    dx b:*.com+*.exe+*.bat
  1350.  
  1351.  
  1352.  
  1353.               3.2  Extended Pattern Matching
  1354.  
  1355.               The file-matching mechanism  allows for multiple inclusion and
  1356.               exclusion patterns. A space or plus separate patterns that are
  1357.               to be selected. For example:
  1358.  
  1359.                   dx .dbf abc*.bas+ralph.  => selects all files with an
  1360.                                               extension of ".DBF"; all files
  1361.                                               that start with "ABC" and have
  1362.                                               an extension of ".BAS"; and
  1363.                                               the file "RALPH" (with no
  1364.                                               extension).
  1365.  
  1366.               Note that if a  file  or extension is missing, '*' is assumed.
  1367.               "FILE1" and "FILE1.*" are equivalent  and  ".COM"  and "*.COM"
  1368.               are equivalent.  "FILE1."  or  "*."  explicitly  specifies  no
  1369.               extension -- this can be turned off via /DOTstar- (see section
  1370.               2.17).
  1371.  
  1372.               A semi-colon is used to separate patterns where the subsequent
  1373.               pattern is to be excluded from the search. For example:
  1374.  
  1375.  
  1376.  
  1377.  
  1378.  
  1379.  
  1380.  
  1381.  
  1382.  
  1383.          Page 18                                   3.0 File Matching Options
  1384.  
  1385.  
  1386.  
  1387.  
  1388.  
  1389.          Version 2.0                                      Directory eXtended
  1390.  
  1391.  
  1392.  
  1393.                   dx .bas+.asm;goodfile    => selects all files with an
  1394.                                               extension of ".BAS" and ".ASM"
  1395.                                               except "GOODFILE.BAS" and
  1396.                                               "GOODFILE.ASM".
  1397.  
  1398.                   dx ;test*;.com           => selects all files except those
  1399.                                               starting with "TEST" or having
  1400.                                               an extension of ".COM".
  1401.  
  1402.               See  section  8.4  for   information   on   setting  alternate
  1403.               characters for '+' and ';'.
  1404.  
  1405.               Within each  pattern, multiple wildcards may be given. The DOS
  1406.               wildcard characters  are used but greatly expanded upon. A '?'
  1407.               matches  any  single  character  and  a '*' matches 0 or  more
  1408.               characters ('?*', therefore, matches  1  or  more characters).
  1409.               DOS  allows any number of '?'s but only  one  '*'.  DX  allows
  1410.               multiple '*'s  with  characters  between  and  after  the '*'.
  1411.               Examples:
  1412.  
  1413.  
  1414.  
  1415.  
  1416.  
  1417.  
  1418.  
  1419.  
  1420.  
  1421.  
  1422.  
  1423.  
  1424.  
  1425.  
  1426.  
  1427.  
  1428.  
  1429.  
  1430.  
  1431.  
  1432.  
  1433.  
  1434.  
  1435.  
  1436.  
  1437.  
  1438.  
  1439.  
  1440.  
  1441.  
  1442.  
  1443.  
  1444.  
  1445.  
  1446.  
  1447.  
  1448.  
  1449.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 19
  1450.  
  1451.  
  1452.  
  1453.  
  1454.  
  1455.          Directory eXtended                                      Version 2.0
  1456.  
  1457.  
  1458.  
  1459.                   A*Z                      => selects any file that starts
  1460.                                               with an "A" and ends in a "Z".
  1461.                                               "AFILEZ" and "AZ" both fit,
  1462.                                               but "AFILE" does not.
  1463.  
  1464.                   .*S                      => select any extension that ends
  1465.                                               in an "S". "TEST.PAS",
  1466.                                               "MYFILE.BAS", and "TEST.S" all
  1467.                                               fit.
  1468.  
  1469.                   *TEMP*+.TMP              => selects any files that have
  1470.                                               "TEMP" anywhere in their names
  1471.                                               or ".TMP" for extensions.
  1472.                                               "TEMP.X", "TEMP12", "XTEMP.C",
  1473.                                               "XTEMP12" and "FILE.TMP" all
  1474.                                               fit.
  1475.  
  1476.                   ;T*F?;.EXE               => selects all files except those
  1477.                                               that start with a "T" and have
  1478.                                               an "F" as the second to last
  1479.                                               letter or have an extension of
  1480.                                               ".EXE". "TFA", "TESTFL", and
  1481.                                               "DX.EXE" are examples of files
  1482.                                               that will not match. "TF" and
  1483.                                               "TESTF" will match.
  1484.  
  1485.                   DX.EXE+DX.DOC            => selects the two files that you
  1486.                                               might want to give to your
  1487.                                               buddy.
  1488.  
  1489.                   *.                       => select all files with no
  1490.                                               extensions.
  1491.  
  1492.                   .                        => select all files in the
  1493.                                               current directory (equivalent
  1494.                                               to ".\*.*").
  1495.  
  1496.  
  1497.  
  1498.               3.3  File attribute Matching
  1499.  
  1500.               You may select  any  set  of  file  attributes  to  include or
  1501.               exclude. By default, DX  is  set  to  include all files except
  1502.               hidden  and  system  files. DX will tell you (unless you limit
  1503.               output with the /STats option) what file attributes were found
  1504.               and not displayed.
  1505.  
  1506.  
  1507.                    3.3.1  /Full -- All Files
  1508.  
  1509.                    The /Full switch specifies all file  attributes.  This is
  1510.                    the simplest way to see the entire directory:
  1511.  
  1512.                        dx /f                  => display all files
  1513.  
  1514.  
  1515.          Page 20                                 3.3 File attribute Matching
  1516.  
  1517.  
  1518.  
  1519.  
  1520.  
  1521.          Version 2.0                                      Directory eXtended
  1522.  
  1523.  
  1524.  
  1525.                    NOTE that  this option will override the /ATtr switch and
  1526.                    is exactly equivalent to "/ATtr:F".
  1527.  
  1528.  
  1529.                    3.3.2  /ATtr -- Select File Attributes
  1530.  
  1531.                    The /ATtr switch modifies  or  selects  the group of file
  1532.                    attributes to display. By default, DX includes  all files
  1533.                    except those that have the  hidden  or  system attributes
  1534.                    set -- this  is  referred  to  as the base set. The /ATtr
  1535.                    switch  takes  a   set  of  characters  indicating  which
  1536.                    attributes should  be added or removed from the base set.
  1537.                    The letters  used are "A" for archive, "D" for directory,
  1538.                    "H" for hidden, "N"  for  normal,  "R" for read-only, and
  1539.                    "S" for system. A  letter  by itself or followed by a "+"
  1540.                    will be added to the set. A letter followed by a "-" will
  1541.                    be removed from the set. The letter "F"  will  select the
  1542.                    full  set  of  attributes. To "wipe out" the base set and
  1543.                    specify all attributes explicitly, begin the switch value
  1544.                    with a "!".
  1545.  
  1546.                    DX  defines  a  "normal"  file  to  be  one that  has  no
  1547.                    attributes set. To see system  and  hidden  files,  it is
  1548.                    often necessary to specify both (or use /Full or "F"):
  1549.  
  1550.  
  1551.  
  1552.  
  1553.  
  1554.  
  1555.  
  1556.  
  1557.  
  1558.  
  1559.  
  1560.  
  1561.  
  1562.  
  1563.  
  1564.  
  1565.  
  1566.  
  1567.  
  1568.  
  1569.  
  1570.  
  1571.  
  1572.  
  1573.  
  1574.  
  1575.  
  1576.  
  1577.  
  1578.  
  1579.  
  1580.  
  1581.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 21
  1582.  
  1583.  
  1584.  
  1585.  
  1586.  
  1587.          Directory eXtended                                      Version 2.0
  1588.  
  1589.  
  1590.  
  1591.                        dx /at:!a              => only files with archive set
  1592.  
  1593.                        dx /at:a-              => Exclude files with archive
  1594.                                                  set
  1595.  
  1596.                        dx /at:fa-             => All files except archive --
  1597.                                                  i.e. those that have been
  1598.                                                  backed up
  1599.  
  1600.                        dx /at:!d              => display only directories
  1601.  
  1602.                        dx /at:d-              => exclude directories
  1603.  
  1604.                        dx /at:fd-             => all files except
  1605.                                                  directories
  1606.  
  1607.                        dx /at:!n              => display only "normal" files
  1608.                                                  --i.e. those that have no
  1609.                                                  attributes set
  1610.  
  1611.                        dx /at:n-              => exclude "normal" files
  1612.  
  1613.                        dx /at:fn-             => all files except "normal"
  1614.                                                  files
  1615.  
  1616.                        dx /at:!r              => display only read-only
  1617.                                                  files
  1618.  
  1619.                        dx /at:r-              => exclude read-only files
  1620.  
  1621.                        dx /at:fr-             => all files except read-only
  1622.                                                  files
  1623.  
  1624.                        dx /at:!h              => display only hidden files
  1625.  
  1626.                        dx /at:h               => include hidden files
  1627.  
  1628.                        dx /at:!s              => display only system files.
  1629.  
  1630.                        dx /at:s               => include system files
  1631.  
  1632.                        dx /at:hs              => all files (same as /Full)
  1633.  
  1634.                        dx /at:f               => all files (same as /Full)
  1635.  
  1636.                    NOTE that DX will not proceed into or display the name of
  1637.                    any directory that  has  been marked as hidden unless the
  1638.                    directory name is explicitly  given  as  part of the file
  1639.                    specification or the hidden attribute is turned on.
  1640.  
  1641.  
  1642.  
  1643.  
  1644.  
  1645.  
  1646.  
  1647.          Page 22                         3.3 /ATtr -- Select File Attributes
  1648.  
  1649.  
  1650.  
  1651.  
  1652.  
  1653.          Version 2.0                                      Directory eXtended
  1654.  
  1655.  
  1656.  
  1657.               3.4  /SIze -- Setting a Size Range
  1658.  
  1659.               The /SIze switch specifies a range of file sizes to include or
  1660.               exclude  from the selection. Two values may  be  given.  If  a
  1661.               minus sign precedes  the  first value, the range is considered
  1662.               an exclusion range. If only one value is given, an exact match
  1663.               or  exact exclusion is selected. The letter  'K'  or  'M'  may
  1664.               follow either  value  and  specifies  a  number  of kilo-bytes
  1665.               (1024) or mega-bytes (1024*1024):
  1666.  
  1667.                   dx /si:1000:10000        => files between 1000 and 10000
  1668.                                               bytes (inclusive) only
  1669.  
  1670.                   dx /si:-500:25000        => files less than 500 bytes or
  1671.                                               larger than 25000 bytes
  1672.  
  1673.                   dx /si:2345              => only files exactly 2345 bytes
  1674.  
  1675.                   dx /si:-45               => only files that are not 45
  1676.                                               bytes
  1677.  
  1678.                   dx /si:100k:5m           => files between 102400 and
  1679.                                               5242880
  1680.  
  1681.                   dx /si:0 /del            => delete all zero length files
  1682.  
  1683.  
  1684.  
  1685.               3.5  /SINce and /BEfore -- Date/Time Ranges
  1686.  
  1687.               Files may be included or excluded based on a  range  of  dates
  1688.               and times specified  by  the /SINce and /BEfore switches. This
  1689.               affords a much more flexible method of specifying  a  date and
  1690.               time. Those of  you  familiar with Digital Equipment's line of
  1691.               mini-computers, will have no trouble with the new format... it
  1692.               is very similar and expands on DEC's format in some areas.
  1693.  
  1694.               The general format is:
  1695.  
  1696.                    /SINce:date:time    /BEfore:date:time
  1697.  
  1698.               If "date" is omitted, TODAY  is assumed; if "time" is omitted,
  1699.               midnight is  used. The following formats may be used (keywords
  1700.               may be abbreviated):
  1701.  
  1702.  
  1703.  
  1704.  
  1705.  
  1706.  
  1707.  
  1708.  
  1709.  
  1710.  
  1711.  
  1712.  
  1713.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 23
  1714.  
  1715.  
  1716.  
  1717.  
  1718.  
  1719.          Directory eXtended                                      Version 2.0
  1720.  
  1721.  
  1722.  
  1723.                    Date                  Example                 Description
  1724.                    +nn                   +5                  5 days from now
  1725.                    -nn                   -3                       3 days ago
  1726.                    dd-                   15-          15th day of this month
  1727.                    dd-month[-yy[yy]]     3-may-88                May 3, 1988
  1728.                    mm-dd[-yy[yy]]        5-3-1988                May 3, 1988
  1729.                    yymmdd                880503                  May 3, 1988
  1730.                    Today                 tod                    today's date
  1731.                    TOmorrow              tomorrow            tomorrow's date
  1732.                    Yesterday             y                  yesterday's date
  1733.                    dayofweek             tuesday                last tuesday
  1734.                    Next_dayofweek        next_wednesday       next wednesday
  1735.  
  1736.                    Time                  Example
  1737.                    hh:mm[:ss][Pm]        12:34, 12:34:56, 8:34pm, 4:34:45a
  1738.                    hh[mm][Pm]            12, 1234, 5p, 714pm
  1739.                    +hh[mm]]              +4, -3
  1740.                    -hh:mm[:ss]           +2:34, -3:12:34
  1741.  
  1742.               It may  seem odd to include keywords that represent date/times
  1743.               in the future, but  these  same  formats  are supported on the
  1744.               /FDate and /TDate switches.
  1745.  
  1746.               In addition, the keyword "NOW"  is  defined  as  "TODAY:+0" --
  1747.               i.e. the current date and time.
  1748.  
  1749.               NOTE  that  if you only specify a  time,  DX  will    normally
  1750.               correctly interpret the  value  and assume TODAY for the date.
  1751.               There is one case where DX cannot tell the difference.  If you
  1752.               want to specify a plus/minus  number of hours without giving a
  1753.               date, you must use two colons -- i.e. a null  date  -- see the
  1754.               example below.
  1755.  
  1756.               A date/time may also be given by reference to another  file by
  1757.               using  the   "@filename"   format   illustrated   below.  This
  1758.               specification may include  simple DOS-style wildcards (not DX-
  1759.               style) in which case,  the  first  file  that matches, will be
  1760.               used.
  1761.  
  1762.  
  1763.  
  1764.  
  1765.  
  1766.  
  1767.  
  1768.  
  1769.  
  1770.  
  1771.  
  1772.  
  1773.  
  1774.  
  1775.  
  1776.  
  1777.  
  1778.  
  1779.          Page 24                  3.5 /SINce and /BEfore -- Date/Time Ranges
  1780.  
  1781.  
  1782.  
  1783.  
  1784.  
  1785.          Version 2.0                                      Directory eXtended
  1786.  
  1787.  
  1788.  
  1789.                   /since:2-feb-87 /before:2-feb-87:23:59:59
  1790.                                            => all files created on February
  1791.                                               2, 1987
  1792.  
  1793.                   /sin:1-jan-87 /be:31-dec-87:23:59:59
  1794.                                            => all files created in 1987
  1795.  
  1796.                   /before:monday           => before Monday at midnight
  1797.  
  1798.                   /sin:3-mar:7p            => since the 3rd of March at 7pm
  1799.  
  1800.                   /sin:y:1200              => since yesterday at noon
  1801.  
  1802.                   /sin:-2:5pm              => since 2 days ago at 5pm
  1803.  
  1804.                   /sin:-5                  => since 5 days ago
  1805.  
  1806.                   /sin:y:-1                => since yesterday, 1 hour before
  1807.                                               now
  1808.  
  1809.                   /sin::-1                 => since 1 hour ago (note two
  1810.                                               colons)
  1811.  
  1812.                   /sin:851004              => 10/4/85 -- for backward
  1813.                                               compatibility
  1814.  
  1815.                   /sin:@dump.dir           => since date/time on "dump.dir"
  1816.  
  1817.               Note  that /Since is defined as on or  after  and  /BEfore  is
  1818.               defined as on or before.
  1819.  
  1820.  
  1821.  
  1822.               3.6  Viewing ARChive and LiBRary Directories
  1823.  
  1824.               DX has the  capability  to display the directories of archives
  1825.               and  libraries  and perform limited  processing  within  them.
  1826.               ARChives conform to the format  produced by the ARC program by
  1827.               System  Enhancement Associates and other shareware and  public
  1828.               domain  programs.  This  format  is   a   powerful   tool  for
  1829.               compressing and combining files so that they take up less disk
  1830.               space  --  it  has become the standard  in  file  compression.
  1831.               LiBRaries have been in the  public domain for many, many years
  1832.               and are the "old" standard  in combining multiple files into a
  1833.               single file. These files are  not  necessarily  compressed. DX
  1834.               considers any file  that  has  an  extension of ".ARC" to be a
  1835.               potential archive and any file  with an extension of ".LBR" to
  1836.               be a potential library. DX will not look in  any  other  files
  1837.               for internal directories.
  1838.  
  1839.  
  1840.  
  1841.  
  1842.  
  1843.  
  1844.  
  1845.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 25
  1846.  
  1847.  
  1848.  
  1849.  
  1850.  
  1851.          Directory eXtended                                      Version 2.0
  1852.  
  1853.  
  1854.  
  1855.               DX treats  archives and libraries as logical extensions to the
  1856.               DOS directory structure.  To  obtain the directory of a single
  1857.               archive or library, simply give  its  name  (with  an optional
  1858.               drive and path specification)  and  a  backslash  -- it is not
  1859.               necessary to specify the extension  (.ARC  or  .LBR)  unless a
  1860.               normal DOS subdirectory with the  same name exists in the same
  1861.               directory.  Any  DX   pattern  specification  may  follow  the
  1862.               backslash  -- if no pattern follows,  "*.*"  is  assumed.  The
  1863.               backslash is required -- without it, DX will simply report the
  1864.               directory of the archive  or  library  file  and not the files
  1865.               within it! Examples:
  1866.  
  1867.                   dx source\               => all files in "source.arc" or
  1868.                                               "source.lbr".
  1869.  
  1870.                   dx a:\save\.pas;file     => all "*.pas" files except
  1871.                                               "file.pas" in "a:\save.arc" or
  1872.                                               "a:\save.lbr".
  1873.  
  1874.                   dx \misc\85.arc\t*.*     => all "t*.*" files in
  1875.                                               "\misc\85.arc".
  1876.  
  1877.  
  1878.                    3.6.1  /ARCDT -- Validating ARC/LBR Timestamps
  1879.  
  1880.                    The original ARC  program always maintained the archive's
  1881.                    date/time as that of the most recent file within it. This
  1882.                    is  obviously  useful.  Some  archive  utilities  do  not
  1883.                    correctly   maintain  date/time.  In  addition,  if   you
  1884.                    download an archive from a bulletin board system, it will
  1885.                    get the current date/time which is not  representative of
  1886.                    the files you received.
  1887.  
  1888.                    The  /ARCDT  switch  insures  that  an  .ARC   or  .LBR's
  1889.                    date/time  is correct -- i.e. that it  is  equal  to  the
  1890.                    date/time of  the most recent file within it. This switch
  1891.                    only  applies  to  .ARC/.LBRs that DX looks in and is not
  1892.                    verifiable --  i.e.  if  you  don't  actually  select the
  1893.                    contents  of the .ARC/.LBR (with "arcname\" or  "/FF:A"),
  1894.                    DX will not detect  an  incorrect  date/time and will not
  1895.                    correct it. The switch may  take  the  value "/ARCDT:Log"
  1896.                    (default)  or  "/ARCDT:Nolog"  to  determine  whether  an
  1897.                    informative message is  displayed. The switch is intended
  1898.                    to  be  set  on in your environment  and  forgotten  (the
  1899.                    default is /ARCDT-):
  1900.  
  1901.                        dx /arcdt              => correct ARC/LBR
  1902.                                                  date/timestamps
  1903.  
  1904.                        dx /arcdt:nolog        => do it quietly (no message)
  1905.  
  1906.  
  1907.  
  1908.  
  1909.  
  1910.  
  1911.          Page 26                 3.6 Viewing ARChive and LiBRary Directories
  1912.  
  1913.  
  1914.  
  1915.  
  1916.  
  1917.          Version 2.0                                      Directory eXtended
  1918.  
  1919.  
  1920.  
  1921.  
  1922.  
  1923.          4.0  Utility Options
  1924.  
  1925.  
  1926.  
  1927.               4.1  /SOrt -- Sorting Files
  1928.  
  1929.               DX can sort files in any order. Sorting is off by default. The
  1930.               /SOrt switch without a value selects directories  before files
  1931.               and  then  name  and then extension in  ascending  order.  The
  1932.               sorting criteria consists of: "N" for name, "E" for extension,
  1933.               "S"  for  size,  "D" for date/time, "A" for attribute, and "*"
  1934.               for directory vs. file. Specifying  a letter by itself or with
  1935.               a '+'  suffix  indicates  ascending  order;  specifying  a '-'
  1936.               suffix    indicates    descending   order.    (For    backward
  1937.               compatibility, "T" is accepted as equivalent to "D".)
  1938.  
  1939.               The "*" is a special type of sorting -- it splits  the display
  1940.               showing directories first and then files or vice versa ("*-").
  1941.  
  1942.               If  the  letter  "C" appears anywhere in  the  sort  criteria,
  1943.               column sorting is enabled  --  DX  will  display the output in
  1944.               columns ("C" by itself is undefined).
  1945.  
  1946.               The sort criteria may  be  up to 16 characters long. Note that
  1947.               you can sort files within ARChives and LiBRaries.
  1948.  
  1949.                   dx /so                   => directories before files; sort
  1950.                                               by name and extension (same as
  1951.                                               "*ne")
  1952.  
  1953.                   dx /so:*-ne              => files before directories; sort
  1954.                                               by name and extension
  1955.  
  1956.                   dx /so:ne                => sort by name and extension
  1957.  
  1958.                   dx/so:e-n-               => sort files descending by
  1959.                                               extension first and then by
  1960.                                               descending name
  1961.  
  1962.                   dx /so:snd-              => sort files by ascending size,
  1963.                                               ascending name, and then
  1964.                                               descending date
  1965.  
  1966.                   dx /so:*nec              => directories before files; sort
  1967.                                               by name and extension; display
  1968.                                               in columns
  1969.  
  1970.  
  1971.  
  1972.  
  1973.  
  1974.  
  1975.  
  1976.  
  1977.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 27
  1978.  
  1979.  
  1980.  
  1981.  
  1982.  
  1983.          Directory eXtended                                      Version 2.0
  1984.  
  1985.  
  1986.  
  1987.               4.2  /FFind -- Searching Multiple Directories
  1988.  
  1989.               The "File  Find"  (/FFind)  option  searches  the  entire disk
  1990.               directory for files that match. This is primarily intended for
  1991.               hard disk  users  but  may  be  used  on floppies as well. The
  1992.               search starts in the current directory. If you want the search
  1993.               to start at  the  root  or  in a different directory, you must
  1994.               specify that in the path:
  1995.  
  1996.                   dx \ /ff                 => display all files in all
  1997.                                               directories on the default
  1998.                                               disk
  1999.  
  2000.                   dx .pas/ff               => find all files ending in
  2001.                                               ".pas" in this directory and
  2002.                                               any sub- directories of this
  2003.                                               directory
  2004.  
  2005.                   dx d:\foo.bar/ff         => search the entire D: disk for
  2006.                                               the file "foo.bar"
  2007.  
  2008.               Normally only directories  are  searched ("/FFind:Directory").
  2009.               You can expand the search to include any archives or libraries
  2010.               encountered by use of the following  keywords:  'All' searches
  2011.               directories, archives, and libraries; 'ARchive'  searches only
  2012.               archives  found  in   the  current  directory;  and  'Library'
  2013.               searches only libraries found in the current directory:
  2014.  
  2015.                   dx \.pas /ff:a           => find all "*.pas" files in
  2016.                                               every directory, archive, and
  2017.                                               library
  2018.  
  2019.                   dx /ff:all               => display all files in every
  2020.                                               directory, archive, and
  2021.                                               library starting with the
  2022.                                               current directory
  2023.  
  2024.                   dx .doc /ff:l            => find all "*.doc" files in the
  2025.                                               current directory and any
  2026.                                               libraries in the current
  2027.                                               directory
  2028.  
  2029.               NOTE that DX will not proceed into a  hidden  directory unless
  2030.               the hidden attribute is turned on via /ATtr (see section 3.3).
  2031.  
  2032.  
  2033.  
  2034.  
  2035.  
  2036.  
  2037.  
  2038.  
  2039.  
  2040.  
  2041.  
  2042.  
  2043.          Page 28                4.2 /FFind -- Searching Multiple Directories
  2044.  
  2045.  
  2046.  
  2047.  
  2048.  
  2049.          Version 2.0                                      Directory eXtended
  2050.  
  2051.  
  2052.  
  2053.               4.3  /FSize -- Testing if File Transfer Possible
  2054.  
  2055.               The "File Size" (/FSize) option is used to determine whether a
  2056.               set of  files (matching all other criteria) can be transferred
  2057.               to a specified disk. This  option does not transfer any files.
  2058.               /FSize takes into account the differences in  allocation units
  2059.               on  different disk drives and tells you  how  many  bytes  the
  2060.               files will occupy on the  destination  drive  (along  with how
  2061.               much free space there exists on that drive).  You  can request
  2062.               that the sufficient/not sufficient message blink by specifying
  2063.               the /FSBlink parameter. The value specified  with  /FSize must
  2064.               be a valid disk drive or the minimum allocation (cluster) size
  2065.               of a disk drive:
  2066.  
  2067.                   dx *.pas/fs:a:           => determine if all ".pas" files
  2068.                                               may be transferred to the disk
  2069.                                               in A:
  2070.  
  2071.                   dx b:\*test/fs:d/ff      => determine if all files ending
  2072.                                               in "test" anywhere on the B:
  2073.                                               drive can be transferred to
  2074.                                               disk D:
  2075.  
  2076.                   dx xxx./fs:512/fsb       => determine how much space is
  2077.                                               required to transfer the file
  2078.                                               "xxx" to a disk with 512 byte
  2079.                                               minimum allocations. The
  2080.                                               message will blink
  2081.  
  2082.               When used with /COPy or /MOve, the drive may  be  omitted  and
  2083.               will  be taken from the target given to  /COPy  or  /MOve.  In
  2084.               addition, the /COPy or /MOve will not be done  if  the  /FSize
  2085.               test fails.
  2086.  
  2087.                   dx files/cop:a:/fs       => copy to a: if room is
  2088.                                               available
  2089.  
  2090.               NOTE:  DX  does not detect the case  where  a  file  is  being
  2091.               overwritten  --  thus resulting  in  its  previous  allocation
  2092.               being reclaimed; nor will it detect the case where directories
  2093.               may have to be  created  or  expanded  -- taking up additional
  2094.               allocation units.
  2095.  
  2096.  
  2097.  
  2098.               4.4  /Ldir -- Listing Directory Names
  2099.  
  2100.               The  "List Directories" (/Ldir) option displays the  directory
  2101.               names, number of files and size of the files in each directory
  2102.               for  all  directories  found on the disk. The search begins in
  2103.               the current directory unless a path is specified:
  2104.  
  2105.  
  2106.  
  2107.  
  2108.  
  2109.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 29
  2110.  
  2111.  
  2112.  
  2113.  
  2114.  
  2115.          Directory eXtended                                      Version 2.0
  2116.  
  2117.  
  2118.  
  2119.                   dx c:/ld                 => list the default directory on
  2120.                                               C: and all of its sub-
  2121.                                               directories.
  2122.  
  2123.                   dx /ld/ff:a              => list ARChive and LiBRary
  2124.                                               directories too.
  2125.  
  2126.                   dx \/ld/w                => starting at the root, list all
  2127.                                               directories on the logged
  2128.                                               drive in a wide format.
  2129.  
  2130.  
  2131.  
  2132.               4.5  /CKsum -- Checksumming Files
  2133.  
  2134.               A  checksum is a method of "folding" all of the data in a file
  2135.               into a single value. This value can then be  compared  to  the
  2136.               checksum of a file that should  be  a copy of the original. If
  2137.               the checksums match, you have a high probability (estimated at
  2138.               99.6%) that the files are  identical.  It,  therefore,  can be
  2139.               used as a quick check to see if files have  changed. Checksums
  2140.               are printed as  4  hexadecimal  digits  --  the  value  is not
  2141.               important; only that it matches the original.
  2142.  
  2143.                   dx newfile /cksum        => compute newfile's checksum.
  2144.  
  2145.  
  2146.  
  2147.               4.6  /CRC -- Cyclic Redundancy Checks
  2148.  
  2149.               A Cyclic Redundancy Check is very similar to a checksum except
  2150.               that the summation is  constantly  rotated  logically  (it's a
  2151.               little  more  complicated  than  that.)  CRCs  were  developed
  2152.               because a simple checksum  is  not  always accurate enough for
  2153.               high speed  tele-communications where an error may occur for a
  2154.               few characters in a row  and end up cancelling themselves out.
  2155.               In  other  words,  the checksum may match but the files don't.
  2156.               The CRC algorithm takes  almost  twice  as  long as the simple
  2157.               checksum but it is estimated  to  be  99.9969%  effective. The
  2158.               algorithm used for the CRC  computation is exactly the same as
  2159.               that used  in the ARC program by System Enhancement Associates
  2160.               and comes from an article in PC Tech Journal of April  1985 by
  2161.               W. David Schwaderer. Since the  algorithm is the same, DX uses
  2162.               the CRC to compare files inside an archive to those outside of
  2163.               an archive (see section 5.3).
  2164.  
  2165.               CRCs  (or  checksums)  may  be  compared  over  the  phone  or
  2166.               electronically with another user  --  if  the values match you
  2167.               have  a 99.9969% (or 99.6%) probability  that  the  files  are
  2168.               identical.
  2169.  
  2170.                   dx .bas /crc             => compute the CRC of all "*.bas"
  2171.                                               files.
  2172.  
  2173.  
  2174.  
  2175.          Page 30                            4.5 /CKsum -- Checksumming Files
  2176.  
  2177.  
  2178.  
  2179.  
  2180.  
  2181.          Version 2.0                                      Directory eXtended
  2182.  
  2183.  
  2184.  
  2185.               CRCs are displayed  within  curly braces. When DX displays the
  2186.               subtotal and total CRC summations at the end  of  the display,
  2187.               these  values   are  a  summation  of  the  actual  CRCs  and,
  2188.               therefore, are not true CRCs.
  2189.  
  2190.  
  2191.  
  2192.  
  2193.  
  2194.  
  2195.  
  2196.  
  2197.  
  2198.  
  2199.  
  2200.  
  2201.  
  2202.  
  2203.  
  2204.  
  2205.  
  2206.  
  2207.  
  2208.  
  2209.  
  2210.  
  2211.  
  2212.  
  2213.  
  2214.  
  2215.  
  2216.  
  2217.  
  2218.  
  2219.  
  2220.  
  2221.  
  2222.  
  2223.  
  2224.  
  2225.  
  2226.  
  2227.  
  2228.  
  2229.  
  2230.  
  2231.  
  2232.  
  2233.  
  2234.  
  2235.  
  2236.  
  2237.  
  2238.  
  2239.  
  2240.  
  2241.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 31
  2242.  
  2243.  
  2244.  
  2245.  
  2246.  
  2247.          Directory eXtended                                      Version 2.0
  2248.  
  2249.  
  2250.  
  2251.  
  2252.  
  2253.          5.0  Special Processing
  2254.  
  2255.  
  2256.          Special  processing  is  the term used to collectively refer to all
  2257.          the little extras that DX can  do  to  your files as it finds them.
  2258.          There   are   currently   10   functions  that  constitute  special
  2259.          processing:  /VIew, /RUn, /MOve, /COPy, /COMPare, /REName,  /GOBak,
  2260.          /FDate,  /FAttr, and /DELete. Special processing  is  done  in  the
  2261.          order just given --  this  is important because if any error occurs
  2262.          in any step, all subsequent steps are skipped for  that  file.  The
  2263.          decision to skip is performed separately for each file that matches
  2264.          the directory specification. In addition,  if  you  use  the /FSize
  2265.          switch  with  /COPy  or  /MOve,  special  processing  is completely
  2266.          bypassed for all  matched  files  if  the  /FSize  test  fails (see
  2267.          section 4.3). This allows you to /MOve or /COPy a group of files to
  2268.          another disk only if  sufficient  room exists. In order to make the
  2269.          decision  based  on  the   /FSize   test,   the  /DEfer  switch  is
  2270.          automatically turned on -- this defers all special processing until
  2271.          the entire directory is scanned and is necessary so that  the total
  2272.          space required is known  before  any  transfers  begin. DX will not
  2273.          perform  any  special  processing on directory names -- it will, of
  2274.          course, proceed deeper into  the  directory  structure if /FFind is
  2275.          on.
  2276.  
  2277.          By default, DX asks for  verification before it does anything. Many
  2278.          options  exist  when  DX is asking for  verification  (see  section
  2279.          5.11).
  2280.  
  2281.  
  2282.  
  2283.               5.1  Target File Specifications
  2284.  
  2285.               Several  special  processing  options  accept  a  target  file
  2286.               specification -- /COPy,  /MOve, /COMPare, /REName, and /GOBak.
  2287.               The  target   specification   may   contain   a  sophisticated
  2288.               replacement pattern as detailed below.  If the target is a DOS
  2289.               character device (like "PRN"), this discussion does not apply.
  2290.  
  2291.               Only  one target specification may be  given  --  despite  the
  2292.               number of the above switches  selected. If no target is given,
  2293.               the  current  drive/directory  and  the  source  filename  and
  2294.               extension are the default (".\*.*").
  2295.  
  2296.               If the drive/or  directory  are not specified, they are filled
  2297.               in from the  current  defaults  --  just  like  the  main file
  2298.               specification. The target  filename and extension are replaced
  2299.               separately on a file-by-file basis and follow these rules:
  2300.  
  2301.                   -  If the filename or  extension  is  not specified in the
  2302.                      replacement option, "*" or  ".*"  is  used (this is NOT
  2303.                      affected by the /DOTstar switch).
  2304.  
  2305.  
  2306.  
  2307.          Page 32                                      5.0 Special Processing
  2308.  
  2309.  
  2310.  
  2311.  
  2312.  
  2313.          Version 2.0                                      Directory eXtended
  2314.  
  2315.  
  2316.  
  2317.                   -  A "*" copies 0 or more characters; no more than one "*"
  2318.                      may  be  present  in the pattern (that is, no more than
  2319.                      one  in  the  filename  and  one in the  extension)  --
  2320.                      characters may preceed and succeed the "*".
  2321.  
  2322.                   -  Characters from the beginning of the string up to a "*"
  2323.                      are test/copied first; characters from the  end  of the
  2324.                      string back to a "*" are test/copied next -- backwards;
  2325.                      any leftover characters "in the middle" match  the "*".
  2326.                      Test/copied  means that if the character is  explicitly
  2327.                      specified in the  replacement pattern, it will override
  2328.                      the character in the source pattern; if a  '?'  is used
  2329.                      in  the  replacement  pattern, the corresponding source
  2330.                      character  will  be  used; if a  '/'  is  used  in  the
  2331.                      replacement  pattern,  the  source  character  will  be
  2332.                      deleted with no replacement.
  2333.  
  2334.               If this seems complicated, just  try it! Chances are that it's
  2335.               going to work the  way  you'd like it to and, with verfication
  2336.               on, you'll see just what DX  will  do  and get to say "Yes" or
  2337.               "No" before it does it!
  2338.  
  2339.               In the following example  table,  "Source"  is the filename or
  2340.               extension as matched by the normal  file  matching mechanisms;
  2341.               "Replacement" is the pattern  as  given  to  one of the target
  2342.               switches;  and  "Target"  is the generated target  name  as  a
  2343.               result of  the  combination.  Remember  that  the  replacement
  2344.               procedure  is  performed  on   the   filename   and  extension
  2345.               individually.
  2346.  
  2347.                    Source              Replacement         Target
  2348.                    myfile              *                   myfile
  2349.                    hisfile             her*                herfile
  2350.                    yourfile            *list               yourlist
  2351.                    myfile              ??te??              mytele
  2352.                    xxxy                xxx?z               xxxyz
  2353.                    yyxxyyyy            "//*////"           xx
  2354.                    xxxxxxyy            "zz////??"          zzyy
  2355.  
  2356.               NOTE that the use of "/"s in your patterns  require  that  the
  2357.               target file specification be quoted.
  2358.  
  2359.  
  2360.  
  2361.               5.2  /MOve and /COPy -- Moving/Copying Files
  2362.  
  2363.               /MOve and /COPy  are  two  very  powerful ways to move or copy
  2364.               files from one disk/directory  to  another.  /MOve  will first
  2365.               attempt to  rename the file across the DOS directory structure
  2366.               -- this will only work if  the  source and target are the same
  2367.               physical disk (SUBST'd disks are  the  same  physical  disk as
  2368.               their root directory  and  move-rename  will  work).  If move-
  2369.               rename is successful, the file is not actually  copied  -- its
  2370.               directory entry  is  simply  removed  from  one  directory and
  2371.  
  2372.  
  2373.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 33
  2374.  
  2375.  
  2376.  
  2377.  
  2378.  
  2379.          Directory eXtended                                      Version 2.0
  2380.  
  2381.  
  2382.  
  2383.               placed in another. If the  rename  process  fails,  /MOve will
  2384.               then attempt to  perform  a copy, optional compare, and delete
  2385.               to move the file(s).
  2386.  
  2387.               /COPy  always makes a physical copy of the  file.  It  may  be
  2388.               followed by an optional compare.
  2389.  
  2390.               From here on in  the  discussion,  "move-rename" refers to the
  2391.               renaming of a  file  across the directory structure and "copy-
  2392.               operation" refers  to both /COPy and to /MOve when move-rename
  2393.               fails.
  2394.  
  2395.               If not enough disk space is available during a copy-operation,
  2396.               the partial copy will be deleted and the original will  not be
  2397.               touched.
  2398.  
  2399.               If  the  destination  directory does not exist,  you  will  be
  2400.               prompted for permission to create it (this is on by default --
  2401.               see section 5.2.2). If an empty directory results,  it  may be
  2402.               removed (this is off by default -- see  section  5.2.3). There
  2403.               are  a  variety  of  verification options (including automatic
  2404.               compare  after  copy)  discused  under /VLevel (section 5.2.6.
  2405.               Pattern replacement may take place to change the  name  of the
  2406.               files as they are moved. For instance.
  2407.  
  2408.                   dx *.wrk /move:\temp\*.hld
  2409.                                            => move all "*.wrk" files to the
  2410.                                               "\temp" directory and give
  2411.                                               them extensions of ".hld".
  2412.  
  2413.                   dx t*.doc+t*.txt /copy:b:
  2414.                                            => copy all "t*.doc" and "t*.txt"
  2415.                                               to b:
  2416.  
  2417.                   dx .doc;text /cop:e:*.hld
  2418.                                            => copy all "*.doc" except
  2419.                                               "text.doc" to e:*.hld
  2420.  
  2421.                   dx ;myfile /cop:\temp    => copy all files except
  2422.                                               "myfile.*" to \temp
  2423.  
  2424.                   dx ;my* /cop:\temp\new\  => copy all files except "my*.*"
  2425.                                               to newly created directory
  2426.                                               \temp\new
  2427.  
  2428.                   dx .pas /move:b: /fsize  => move all "*.pas" files to B:
  2429.                                               only if enough room exists.
  2430.  
  2431.                   dx t*.bas /move:\basic   => move any files "t*.bas" to
  2432.                                               "\basic" -- see note on
  2433.                                               ambiguity below if "\basic"
  2434.                                               does not exist.
  2435.  
  2436.  
  2437.  
  2438.  
  2439.          Page 34                 5.2 /MOve and /COPy -- Moving/Copying Files
  2440.  
  2441.  
  2442.  
  2443.  
  2444.  
  2445.          Version 2.0                                      Directory eXtended
  2446.  
  2447.  
  2448.  
  2449.               NOTE:  Be careful when specifying pattern replacement  because
  2450.               it is easy  to  end  up  with  more than one source file being
  2451.               mapped to the same  target  file.  In the first example above,
  2452.               all "t*.bas" files are being moved to "\basic". If "\basic" is
  2453.               indeed  an  existing  directory, DX will figure it out and map
  2454.               the files  implicitly to "\basic\t*.bas". If "\basic" is not a
  2455.               directory, all  the files will map to "\basic.bas" -- probably
  2456.               NOT  what you had in mind! If you want DX to interpret this as
  2457.               a  request  to  create  a   directory,   you   must   end  the
  2458.               specification with a "\". (One protection here is that DX will
  2459.               not overwrite an existing  file,  so  the second file transfer
  2460.               will pause with an overwrite question.) It is always safest to
  2461.               end a directory with a "\":
  2462.  
  2463.                   dx t*.bas /move:\basic\  => move any files "t*.bas" to a
  2464.                                               new directory "\basic\t*.bas".
  2465.  
  2466.               Care must be taken when using /MOve or /COPy  with  /FFind  --
  2467.               see the discussion in section 5.13.
  2468.  
  2469.               DX will not allow a file to be  moved  or  copied  over itself
  2470.               (this  test  can  be  confused  by  the  DOS ASSIGN  or  SUBST
  2471.               commands). Neither the source nor the target of /MOve or /COPy
  2472.               may be within an archive or library.
  2473.  
  2474.               The final statistics  will  reflect the number of bytes copied
  2475.               for all  copy-operations (not for move-renames) -- this is the
  2476.               total  of  the  actual  sizes  of  the  files  and  not  their
  2477.               allocations.
  2478.  
  2479.               NOTE  that  the  target of a /COPy or /MOve may be a character
  2480.               device:
  2481.  
  2482.                   dx myfile /copy:prn      => copy file to system printer
  2483.  
  2484.  
  2485.                    5.2.1  /APpend -- Append Files
  2486.  
  2487.                    /APpend  is  equivalent  to using /COpy /OVerwrite:Append
  2488.                    and will only affect a  copy-operation  where  the target
  2489.                    exists: the source  file  will be appended to the target.
  2490.                    If  the file did not previously  exist,  the  first  file
  2491.                    copied  to  it  will  create  it  (unless  combined  with
  2492.                    /OVerwrite:Mustexist;  see  section  5.11.3). If the last
  2493.                    character  of  the  existing  file  is a ^Z, the file  is
  2494.                    assumed to be a text file and the ^Z is overwritten:
  2495.  
  2496.                        dx .pas /ap:b:all.pas  => combine all "*.pas" files
  2497.                                                  into "all.pas".
  2498.  
  2499.                    NOTE: If you use /VLevel:Compare (see  section  5.2.6), a
  2500.                    compare of an appended file is currently not possible, so
  2501.                    the DOS VERIFY switch will be turned on as the "next best
  2502.                    thing".
  2503.  
  2504.  
  2505.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 35
  2506.  
  2507.  
  2508.  
  2509.  
  2510.  
  2511.          Directory eXtended                                      Version 2.0
  2512.  
  2513.  
  2514.  
  2515.                    5.2.2  /MDir -- Create Missing Directories
  2516.  
  2517.                    The /MDir option is normally  on. It permits DX to create
  2518.                    directories  needed  to  place a file in a path that does
  2519.                    not currently  exist  (subject  to  verification  --  see
  2520.                    section 5.11). Turning this switch  off  will  prevent DX
  2521.                    from trying to create directories. This switch may take a
  2522.                    keyword  value  of   'Log'  (default)  or  'Nolog'  which
  2523.                    determines whether you get  an  informative  message when
  2524.                    directories are created:
  2525.  
  2526.                        dx /mdir-              => never create directories
  2527.  
  2528.                        dx /md:n               => create them quietly
  2529.  
  2530.  
  2531.                    5.2.3  /RDir -- Remove Empty Directory
  2532.  
  2533.                    The /RDir option, when combined  with  /DELete  or /MOve,
  2534.                    will  cause DX to attempt to  remove  a  directory  after
  2535.                    removing files. This  switch  may take a keyword value of
  2536.                    'Log'  (default) or 'Nolog' which determines whether  you
  2537.                    get an informative message when directories are removed:
  2538.  
  2539.                        dx \mydir/del/rd       => remove empty directories
  2540.  
  2541.                        dx a:/move:b: /rdir:n  => no informative message
  2542.  
  2543.                    DX will remove the current  directory, if it is empty, by
  2544.                    "backing" out of all empty  directories  --  you  will be
  2545.                    left in the first non-empty directory. Note that DX, like
  2546.                    DOS,  cannot  remove  a directory if a DOS 3.x (or above)
  2547.                    SUBST has been designated for this directory.
  2548.  
  2549.  
  2550.                    5.2.4  /TDate -- Set Target File's Date/Time
  2551.  
  2552.                    The /TDate switch may be used to set the date/time of the
  2553.                    target  file or files AFTER a /MOve  or  /COpy  has  been
  2554.                    performed -- this switch does NOT affect the source file;
  2555.                    use /FDate for  that.  All  the  formats  discussed under
  2556.                    section  3.5  may  be used here. The default action is to
  2557.                    copy  the date/time of the source file to the target:
  2558.  
  2559.                        dx /move:xx /td:1-may  => set target file's date to
  2560.                                                  May 1.
  2561.  
  2562.                        dx /mo:b:/td:@foo.bar  => set target file's date to
  2563.                                                  that of "foo.bar".
  2564.  
  2565.  
  2566.  
  2567.  
  2568.  
  2569.  
  2570.  
  2571.          Page 36                     5.2 /MDir -- Create Missing Directories
  2572.  
  2573.  
  2574.  
  2575.  
  2576.  
  2577.          Version 2.0                                      Directory eXtended
  2578.  
  2579.  
  2580.  
  2581.                    5.2.5  /TAttr -- Set Target File Attributes
  2582.  
  2583.                    The  /TAttr switch may be used to  set  the  target  file
  2584.                    attributes AFTER a  /MOve  or /COPy has been performed --
  2585.                    this switch does  NOT  affect the source file; use /FAttr
  2586.                    for that. The letters used are "A" for  archive,  "H" for
  2587.                    hidden, "N" for normal,  "R"  for  read-only, and "S" for
  2588.                    system.  A  special  form of /TAttr ("/TA:*")  is  on  by
  2589.                    default: it sets the target's attributes as follows: if a
  2590.                    file overwrite is  performed,  the "new" target is set to
  2591.                    the  "old" target's  attributes;  otherwise,  the  source
  2592.                    file's attributes are copied  to  the  target;  in either
  2593.                    case,  if  a  physical  copy  is  performed,  the archive
  2594.                    attribute is turned  on.  Any explicit use of /TAttr will
  2595.                    override this action. It is an error to use "+" or "-" on
  2596.                    /TAttr.
  2597.  
  2598.                    The  "@"  format  may  be  used to copy  attributes  from
  2599.                    another file (see section 3.5).
  2600.  
  2601.                        dx /cop:xxx /ta:r      => set read-only on copied
  2602.                                                  file.
  2603.  
  2604.                        dx /ta:*               => copy attributes as outlined
  2605.                                                  above (default).
  2606.  
  2607.                        dx /ta:n               => target set to normal.
  2608.  
  2609.                        dx /ta-                => don't touch the file
  2610.                                                  attributes (DOS sets "a").
  2611.  
  2612.                        dx /ta:r-a+            => ERROR: '+'/'-' illegal on
  2613.                                                  /TA.
  2614.  
  2615.                        dx /tattr:hrs          => set hidden, read-only, and
  2616.                                                  system; but not archive.
  2617.  
  2618.                        dx /ta:@sample         => set the target attributes
  2619.                                                  to "sample"s attributes.
  2620.  
  2621.  
  2622.                    5.2.6  /VLevel -- Verify Level
  2623.  
  2624.                    DX allows five choices in how  verification  is performed
  2625.                    during a copy-operation.  The /VLevel option controls how
  2626.                    DX manipulates the  DOS  VERIFY  setting  and  whether an
  2627.                    automatic  compare-after-copy should occur. For those  of
  2628.                    you  not  familiar  with  DOS  VERIFY,  DOS  maintains an
  2629.                    internal flag  to  determine  whether  a read-after-write
  2630.                    verify should be performed after every  disk  write. This
  2631.                    is established by the DOS command "VERIFY ON" or by using
  2632.                    DOS COPY's /V switch. Many users run with "VERIFY ON" all
  2633.                    the time and it is a good idea. Personally, I don't think
  2634.                    that level of verification on a copy is adequate -- being
  2635.  
  2636.  
  2637.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 37
  2638.  
  2639.  
  2640.  
  2641.  
  2642.  
  2643.          Directory eXtended                                      Version 2.0
  2644.  
  2645.  
  2646.  
  2647.                    a skeptic, I prefer the separate compare  cycle following
  2648.                    the copy which causes data to be reread  from  the source
  2649.                    -- thus eliminating the  situation  where  the  data read
  2650.                    from the source was read in error before being written to
  2651.                    and verified  from the target.
  2652.  
  2653.                    Before we  get into the individual options, be aware that
  2654.                    if DX changes your DOS VERIFY setting, it  will  reset it
  2655.                    to whatever it previously was.
  2656.  
  2657.                    You can tell DX  to  use the DOS VERIFY switch by setting
  2658.                    "/VLevel:ON" or not to by setting "/VLevel:Off" or not to
  2659.                    touch it at all (leave it the way you have  "VERIFY" set)
  2660.                    by "/VLevel:Default". Another option is 'Ifcompare' which
  2661.                    says that if you  specify  /COMPare  with /COPy or /MOve,
  2662.                    turn the DOS verify off, otherwise leave it alone -- this
  2663.                    is the  released default. (The philosophy here is that if
  2664.                    you're doing a  compare,  there's no reason to use VERIFY
  2665.                    as well since VERIFY does slow down disk I/O.)
  2666.  
  2667.                    By far the safest  option  is  an automatic compare after
  2668.                    copy.  This  is  the  recommended  setting  to  make your
  2669.                    default  by placing  "/VL:Compare"  in  your  environment
  2670.                    string (see section 7). Setting  "/VL:C"  will  also turn
  2671.                    off the DOS VERIFY setting  for  the  same  reason stated
  2672.                    above.
  2673.  
  2674.                        dx.pas /copy:a: /vl:c  => copy and compare files to
  2675.                                                  a: -- DOS VERIFY is turned
  2676.                                                  off.
  2677.  
  2678.                        dx abc /move:a: /vl:on => use DOS VERIFY on move.
  2679.  
  2680.                        dx /copy:d: /comp /vl:if
  2681.                                               => turn off DOS VERIFY and
  2682.                                                  compare after copy.
  2683.  
  2684.                        dx /copy:d: /vl:off    => fastest copy -- without any
  2685.                                                  verification.
  2686.  
  2687.  
  2688.  
  2689.               5.3  /COMPare -- Comparing Files
  2690.  
  2691.               The /COMPare switch will cause  DX  to  compare  files matched
  2692.               with other files:
  2693.  
  2694.                   dx .pas /comp:a:         => compare all "*.pas" files with
  2695.                                               matching files on a:
  2696.  
  2697.  
  2698.  
  2699.  
  2700.  
  2701.  
  2702.  
  2703.          Page 38                                 5.2 /VLevel -- Verify Level
  2704.  
  2705.  
  2706.  
  2707.  
  2708.  
  2709.          Version 2.0                                      Directory eXtended
  2710.  
  2711.  
  2712.  
  2713.               This compare  is  significantly  faster  than  DOS's  COMP and
  2714.               reports the total number of  mismatched  bytes  --  it doesn't
  2715.               stop  at  10.  If the files differ in size, the compare is not
  2716.               performed and a message indicates that they differ in size. If
  2717.               the  last  character  in both files is a ^Z, DX will report an
  2718.               EOF found -- this tells you the files are probably text files.
  2719.  
  2720.                   dx \ibm*.com+command.com /full /comp:b:
  2721.                           => compare the version of DOS on two disks (note
  2722.                              the use of /Full since IBMBIO.COM and
  2723.                              IBMDOS.COM are not usually matched).
  2724.  
  2725.               It is possible to compare the CRC of file(s) within an ARChive
  2726.               with file(s) outside of the ARChive. (Remember to add a '\' to
  2727.               the archive name to cause DX to look inside it!) This  gives a
  2728.               fairly reliable indication that the files  within  and outside
  2729.               the ARChive are identical.  NOTE  that  while  the CRCs of the
  2730.               outside  files  are  computed, the CRC of the files within the
  2731.               ARChive are simply taken from  the ARChive header (this is why
  2732.               comparing files within a LiBRary is not supported):
  2733.  
  2734.                   dx source.arc\ /comp:b:\source
  2735.                                            => compare files in archives to
  2736.                                               corresponding files outside.
  2737.  
  2738.               DX will perform a DOS Disk Reset function if a compare follows
  2739.               a copy (either explicitly  with  /COMPare  or  implicitly with
  2740.               /VLevel:Compare)  thus flushing any DOS or supplemental  cache
  2741.               buffers.  If  this  were not done, the  compare  might  simply
  2742.               compare data in the  cache  buffers  and  not reread the disk.
  2743.               Note that some public domain  cache programs do not detect the
  2744.               DOS Disk Reset and do  not flush their cache -- compare-after-
  2745.               copy may not  be  able  to  reread  the disk with this type of
  2746.               cache program.
  2747.  
  2748.  
  2749.  
  2750.               5.4  /REName -- Renaming Files
  2751.  
  2752.               The /REName switch will cause DX to rename the matched files:
  2753.  
  2754.                   dx *.bak /ren:*.hld      => rename all "*.bak" files to
  2755.                                               "*.hld".
  2756.  
  2757.               DX now has the  ability  to  rename  files within ARChives and
  2758.               LiBRaries! In the past, it was necessary to extract the files,
  2759.               delete the files (or the  entire  ARC/LBR),  rename  them, and
  2760.               then  add  them  again -- a very slow process. DX now makes it
  2761.               painless:
  2762.  
  2763.                   dx myarc\old /ren:new    => rename the file "old" within
  2764.                                               "myarc.arc" (or "myarc.lbr")
  2765.                                               to "new".
  2766.  
  2767.  
  2768.  
  2769.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 39
  2770.  
  2771.  
  2772.  
  2773.  
  2774.  
  2775.          Directory eXtended                                      Version 2.0
  2776.  
  2777.  
  2778.  
  2779.               NOTE that some  ARChive  utilities,  like  SEA's  original ARC
  2780.               program,  assume  that  the  ARChive  directory  is  always in
  2781.               alphabetical  order  and  may  have  trouble  if   the  rename
  2782.               operation distorts that order.
  2783.  
  2784.               NOTE that DX cannot  currently  rename  files within .LBR's if
  2785.               they are squeezed -- i.e. DX will refuse to rename files in an
  2786.               .LBR where a 'Q' is the second letter of the extension.
  2787.  
  2788.               NOTE that DX will add the archive attribute to the  archive or
  2789.               library but will otherwise leave all other file attributes and
  2790.               the DOS date and time the same.
  2791.  
  2792.  
  2793.  
  2794.               5.5  /GOBak -- Reverting to Previous Versions
  2795.  
  2796.               A  very  common  operation,  when  using   editors   and  word
  2797.               processors that create backup files,  is  to  decide  that you
  2798.               wish to discard all changes to a file and revert to a previous
  2799.               version. How many times have  you  found  yourself  deleting a
  2800.               file and  renaming  its  .BAK  file?  DX has the ability to do
  2801.               this for you  --  SAFELY!  You  can  even  specify  the backup
  2802.               extension:
  2803.  
  2804.                   dx goof.pas /gobak       => go back to "goof.bak".
  2805.  
  2806.                   dx spread.wkz /gob:.baq  => go back to "spread.baq".
  2807.  
  2808.               NOTE that if the backup file does not exist, DX will not touch
  2809.               the source file.
  2810.  
  2811.  
  2812.  
  2813.               5.6  /FDate -- Changing File Date/Time Stamps
  2814.  
  2815.               The /FDate switch may be used to set the date/time stamp  of a
  2816.               file  or files. All of the  date/time  forms  discussed  under
  2817.               section  3.5  may  be  used.  In addition, you may change  the
  2818.               date/time  stamps  of  files  within  ARChives.  (Setting  the
  2819.               date/time within an .LBR was considered but it  resulted  in a
  2820.               lot of potentially never used code since .LBR's do not use the
  2821.               DOS standard date/time format.)
  2822.  
  2823.  
  2824.  
  2825.  
  2826.  
  2827.  
  2828.  
  2829.  
  2830.  
  2831.  
  2832.  
  2833.  
  2834.  
  2835.          Page 40                               5.4 /REName -- Renaming Files
  2836.  
  2837.  
  2838.  
  2839.  
  2840.  
  2841.          Version 2.0                                      Directory eXtended
  2842.  
  2843.  
  2844.  
  2845.                   dx /fd:now               => set all matching files to the
  2846.                                               current date/time -- ala
  2847.                                               Unix's "touch".
  2848.  
  2849.                   dx /fd:tuesday:1500      => set all matching files to last
  2850.                                               Tuesday at 1500.
  2851.  
  2852.                   dx myarc\file.ext /fd:yesterday:3pm
  2853.                                            => set "file.ext" within "myarc"
  2854.                                               to yesterday 3pm.
  2855.  
  2856.                   dx /fdate:@file.ext      => set matching files to the
  2857.                                               date/time of "file.ext".
  2858.  
  2859.  
  2860.  
  2861.               5.7  /FAttr -- Changing File Attributes
  2862.  
  2863.               The /FAttr switch can be used  to  cause DX to change the file
  2864.               attributes  on  all  files that match. By default, DX will ask
  2865.               for  verification  on  each  file.  The value of  this  switch
  2866.               corresponds to a set of attributes to add to  or  remove  from
  2867.               the file. The  letters  used  are  "A"  for  archive,  "H" for
  2868.               hidden, "N" for normal, "R" for read-only, and "S" for system.
  2869.               If a letter  is specified (or followed by a "+") the attribute
  2870.               will  be  added;  if the letter  is  followed  by  a  "-"  the
  2871.               attribute will removed.
  2872.  
  2873.               The  special  case  "!" (as the first  character)  clears  all
  2874.               current  attributes.  If  the  "!"  is followed by  any  other
  2875.               letters,  those  become  the  only  new  attributes.  The file
  2876.               attribute switches take precedence so you must specify "/Full"
  2877.               or "/ATtr:HS" in order  to  change  hidden and/or system files
  2878.               (see section 3.3). "F" is not defined.
  2879.  
  2880.               The "@" format may  be  used  to  copy attributes from another
  2881.               file (see section 3.5).
  2882.  
  2883.               NOTE:  For  backward  compatibility,  the  "N"  is  treated as
  2884.               equivalent to the "!". This is true on /FAttr only;  the other
  2885.               attribute   switches  (/ATtr   and   /TAttr)   interpret   "N"
  2886.               differently. To avoid confusion, use "!" in all cases to clear
  2887.               current attributes.
  2888.  
  2889.  
  2890.  
  2891.  
  2892.  
  2893.  
  2894.  
  2895.  
  2896.  
  2897.  
  2898.  
  2899.  
  2900.  
  2901.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 41
  2902.  
  2903.  
  2904.  
  2905.  
  2906.  
  2907.          Directory eXtended                                      Version 2.0
  2908.  
  2909.  
  2910.  
  2911.                   dx \dira/fa:a            => add the archive attribute to
  2912.                                               all files in "dira".
  2913.  
  2914.                   dx \dir\/fa:!a           => set archive only.
  2915.  
  2916.                   dx b:/fattr:r            => add read-only to all files in
  2917.                                               the default directory of B:.
  2918.  
  2919.                   dx b:/fattr:!r           => set only read-only.
  2920.  
  2921.                   dx /fa:!                 => clear all attributes.
  2922.  
  2923.                   dx /fa:hs                => add hidden and system.
  2924.  
  2925.                   dx /fa:!hs               => set hidden and system only.
  2926.  
  2927.                   dx \/at:!a/ffind/fa:a-   => turn the archive attribute off
  2928.                                               on any file that has it set.
  2929.  
  2930.                   dx ibm*.com/full/fa:!    => change the operating system
  2931.                                               files to normal.
  2932.  
  2933.                   dx /at:!a/cop:a:/fa:a-   => copy any files that have
  2934.                                               changed (archive bit set) to
  2935.                                               a: -- and then clear the
  2936.                                               archive bit if the copy
  2937.                                               succeeded!
  2938.  
  2939.                   dx xx /fa:@file.ext      => set attributes to those on
  2940.                                               "file.ext".
  2941.  
  2942.  
  2943.  
  2944.               5.8  /DELete -- Deleting Files
  2945.  
  2946.               The /DELete  option specifies that DX will delete all matching
  2947.               files.  By  default,  DX  will  ask  for  verification  before
  2948.               deleting each file. If any previous special processing failed,
  2949.               the delete will not be performed. Be careful, you can instruct
  2950.               DX to delete every file on your hard disk if you  combine this
  2951.               option with /FFind.
  2952.  
  2953.                   dx b:/del                => perform a verified delete on
  2954.                                               all files on the B: drive (DX
  2955.                                               will ask permission for each
  2956.                                               file individually).
  2957.  
  2958.                   dx \.bak+.tmp /ff/del/v- => delete all "*.bak" and "*.tmp"
  2959.                                               files on an entire disk
  2960.                                               without verification.
  2961.  
  2962.               The final statistics will  reflect  the  number of bytes freed
  2963.               (i.e.  the  number  of bytes that were allocated) by the files
  2964.               deleted and not their actual sizes.
  2965.  
  2966.  
  2967.          Page 42                               5.8 /DELete -- Deleting Files
  2968.  
  2969.  
  2970.  
  2971.  
  2972.  
  2973.          Version 2.0                                      Directory eXtended
  2974.  
  2975.  
  2976.  
  2977.  
  2978.               5.9  /VIew -- View FIles
  2979.  
  2980.               The simplest of all special processing  options,  /VIew allows
  2981.               you  the ability to call your  /LIst  processor  (see  section
  2982.               5.12) for all files that match your criteria  allowing  you to
  2983.               bring the full  power  of  DX's  file  matching  to  your list
  2984.               processor or editor which may  expect a single file or perhaps
  2985.               may understand DOS wildcards.
  2986.  
  2987.                   dx .pas /view /list:d:\list.com
  2988.                                            => use "d:\list.com" to
  2989.                                               selectively view all "*.pas"
  2990.                                               files.
  2991.  
  2992.  
  2993.  
  2994.               5.10  /RUn -- Immediate Command Execution
  2995.  
  2996.               The /RUn switch allows you to execute a  given  command string
  2997.               for  any  or  all  files  matched. The format of this  command
  2998.               string is similar to batch  file processing but simpler -- you
  2999.               can specify only a single line as the template:
  3000.  
  3001.                   dx .pas;badfile.pas /run:'arc a source $n'
  3002.                                            => place all "*.pas" files except
  3003.                                               "badfile.pas" into an archive
  3004.                                               by the name "source.arc".
  3005.  
  3006.               Single  or  double  quotes  may  delimit  the  string and  are
  3007.               required if spaces  or  special characters are embedded in the
  3008.               string.
  3009.  
  3010.               By default, DX  will  prompt  for  verification  including the
  3011.               command about to be executed (see section 5.11).
  3012.  
  3013.               If  you  are  not familiar with the concepts behind batch file
  3014.               generation and template variables, refer to section 6 for more
  3015.               information.
  3016.  
  3017.  
  3018.  
  3019.               5.11  Verifying Special Processing
  3020.  
  3021.               DX asks for permission before  doing  any  special processing.
  3022.               There   are  three  "levels"  of  verification.  Most   verify
  3023.               questions are controlled by the  /Verify switch which is on by
  3024.               default;  an  overwrite  question  from  /COPy  or   /MOve  is
  3025.               controlled by the  /OVerwrite  switch which is off by default;
  3026.               and the handling of read-only (and system files) is controlled
  3027.               by the /ROnly switch which is set to "ask" by default.
  3028.  
  3029.  
  3030.  
  3031.  
  3032.  
  3033.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 43
  3034.  
  3035.  
  3036.  
  3037.  
  3038.  
  3039.          Directory eXtended                                      Version 2.0
  3040.  
  3041.  
  3042.  
  3043.                    5.11.1  Answering the Questions
  3044.  
  3045.                    When presented with a question during special processing,
  3046.                    you have a number of options available...
  3047.  
  3048.                         Option  Action
  3049.                         Y       Acknowledge a VERIFY question.
  3050.                         O       Acknowledge an OVERWRITE question.
  3051.                         R       Acknowledge a READ-ONLY question.
  3052.                         N       Negative acknowledgement.
  3053.                         G       Go!  This turns off the associated class  of
  3054.                                 verification (see below).
  3055.                         D       View   the  directory  of  the  file(s)   in
  3056.                                 question (may not be an archive or library).
  3057.                         L       Invoke the /LIst  processor to view the file
  3058.                                 (see section 5.12).
  3059.                         T       Invoke  the  /LIst  processor  to  view  the
  3060.                                 target file (i.e. on overwrite).
  3061.                         S       Shell  a  copy  of  the   command  processor
  3062.                                 (COMMAND.COM); type EXIT to return.
  3063.                         I       If...  this  option   presents   a  sub-menu
  3064.                                 allowing  you  to  choose  "if  newer",  "if
  3065.                                 older",  "if  larger",   and   "if  smaller"
  3066.                                 (OVERWRITE only).
  3067.                         ^C      Abort DX.
  3068.                         ?       Any other key presents a short menu.
  3069.  
  3070.                    Many  messages  displayed while asking  a  question  will
  3071.                    remain on the screen for a few seconds.  Hitting  any key
  3072.                    (especially the answer) will get you back to the question
  3073.                    quicker.
  3074.  
  3075.                    The reason that there are three  classes  of verification
  3076.                    is for safety -- too many people simply got in  the habit
  3077.                    of always answering "Y" without reading the question.
  3078.  
  3079.                    Answering "G" to any question will turn off that class of
  3080.                    question -- i.e. answering "G" to  an  overwrite question
  3081.                    is the same as having specified /OV on the command line.
  3082.  
  3083.  
  3084.                    5.11.2  /Verify -- Normal Verification
  3085.  
  3086.                    The /Verify  switch controls the action DX takes for most
  3087.                    verifications:
  3088.  
  3089.                        dx /v                  => ask verify questions
  3090.                                                  (default).
  3091.  
  3092.                        dx /v-                 => do not ask verify
  3093.                                                  questions.
  3094.  
  3095.  
  3096.  
  3097.  
  3098.  
  3099.          Page 44                                5.11 Answering the Questions
  3100.  
  3101.  
  3102.  
  3103.  
  3104.  
  3105.          Version 2.0                                      Directory eXtended
  3106.  
  3107.  
  3108.  
  3109.                    5.11.3  /OVerwrite -- Verifying File Overwrites
  3110.  
  3111.                    /OVerwrite  controls  the  action  DX takes for questions
  3112.                    involving file overwriting. Valid options are shown below
  3113.                    with their minimum abbreviations in capital letters:
  3114.  
  3115.                        /ov                    => do not ask overwrite
  3116.                                                  questions.
  3117.  
  3118.                        /ov:Yes                => same as "/ov".
  3119.  
  3120.                        /ov-                   => ask overwrite questions
  3121.                                                  (default).
  3122.  
  3123.                        /ov:Ask                => same as "/ov-".
  3124.  
  3125.                        /ov:Newer              => overwrite if source is
  3126.                                                  newer.
  3127.  
  3128.                        /ov:Older              => overwrite if source is
  3129.                                                  older.
  3130.  
  3131.                        /ov:Larger             => overwrite if source is
  3132.                                                  larger.
  3133.  
  3134.                        /ov:Smaller            => overwrite if source is
  3135.                                                  smaller.
  3136.  
  3137.                        /ov:Mustexist          => target must exist!
  3138.  
  3139.                        /ov:Append             => append to existing file.
  3140.  
  3141.                        /ov:NO                 => never overwrite a file.
  3142.  
  3143.                    "Ask",  "Append",  and  "Mustexist"  may be combined with
  3144.                    other  options   to   create   more   powerful  overwrite
  3145.                    conditions -- specifying "/ov:newer:larger" is illegal.
  3146.  
  3147.                        dx /mo:e: /ov:new:must => move files to E: -- if
  3148.                                                  newer and file exists.
  3149.  
  3150.                        dx /mov:b: /ov:l:ap:a  => copy files to B: -- if
  3151.                                                  larger, ask, then append.
  3152.  
  3153.                        dx file/cop:\save\ /v-/ov
  3154.                                               => copy "file" to another
  3155.                                                  subdirectory, without
  3156.                                                  verification and without
  3157.                                                  asking for overwrite
  3158.                                                  permission.
  3159.  
  3160.                    NOTE:   /OV:Append  is  equivalent  to  /APPEND  and   is
  3161.                    discussed in detail in section 5.2.1.
  3162.  
  3163.  
  3164.  
  3165.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 45
  3166.  
  3167.  
  3168.  
  3169.  
  3170.  
  3171.          Directory eXtended                                      Version 2.0
  3172.  
  3173.  
  3174.  
  3175.                    If any options  are  specified  on  /OVerwrite,  "ask" is
  3176.                    turned off... but it  may  be turned back on by naming it
  3177.                    explicitly -- the following will overwrite files  if they
  3178.                    are newer with and without asking:
  3179.  
  3180.                        dx t* /copy:b: /ov:n   => copy "t*.*" to b:;
  3181.                                                  overwrite if newer
  3182.  
  3183.                        dx t* /copy:b: /ov:n:a => copy "t*.*" to b:; ask
  3184.                                                  whether to overwrite only
  3185.                                                  if newer
  3186.  
  3187.                        dx files /move:\save /ov:must
  3188.                                               => do not create a new file;
  3189.                                                  overwrite an existing file
  3190.                                                  only
  3191.  
  3192.                        dx myfile /mov:log /ov:mu:ap:a
  3193.                                               => ask permission to append
  3194.                                                  "myfile" to "log" only if
  3195.                                                  it exists; "myfile" will be
  3196.                                                  deleted after the append
  3197.  
  3198.  
  3199.                    5.11.4  /ROnly -- Read-only File Handling
  3200.  
  3201.                    /ROnly determines the action  to  take  when  deleting or
  3202.                    overwriting a read-only or system file:
  3203.  
  3204.                        /ro:Ask                => ask permission on read-only
  3205.                                                  files (default).
  3206.  
  3207.                        /ro:Never              => never touch a read-only
  3208.                                                  file.
  3209.  
  3210.                        /ro:Ignore             => ignore the read-only
  3211.                                                  attribute (BE CAREFUL!)
  3212.  
  3213.                    To convert a system  disk  to a normal disk (one that can
  3214.                    no longer be booted) without verification:
  3215.  
  3216.                        dx b:\ibm*.com+command.com /full /ro:i /del /v-
  3217.                                               =>
  3218.  
  3219.  
  3220.  
  3221.  
  3222.  
  3223.  
  3224.  
  3225.  
  3226.  
  3227.  
  3228.  
  3229.  
  3230.  
  3231.          Page 46                5.11 /OVerwrite -- Verifying File Overwrites
  3232.  
  3233.  
  3234.  
  3235.  
  3236.  
  3237.          Version 2.0                                      Directory eXtended
  3238.  
  3239.  
  3240.  
  3241.               5.12  /LIst - Defining the LIST Processor
  3242.  
  3243.               The  /LIst  switch  may  specify  a program to be used  during
  3244.               verification to display a file's  contents (via the "L" or "T"
  3245.               responses)  and for use with /VIew. It must  be  a  full  file
  3246.               specification including drive, path, filename,  and extension.
  3247.               This  switch is intended to be set  in  your  environment  and
  3248.               forgotten (see section 7). DX will load your program to be run
  3249.               with the name of the file as its only parameter:
  3250.  
  3251.                   dx /list:d:\list.com /del
  3252.                                            => use "d:\list.com" for viewing
  3253.                                               files.
  3254.  
  3255.               The /LIst switch may take a complete template (like /Batch and
  3256.               /RUn) to  allow more flexibility in calling a browsing utility
  3257.               (see section 6). For example, if your editor has a "read-only"
  3258.               switch, "/r", you might specify it as your  browse  utility as
  3259.               follows:
  3260.  
  3261.                   /list:'\path\myedit.com $s /r'
  3262.                                            => full filespec will be
  3263.                                               substituted for "$s".
  3264.  
  3265.               If no /LIst processor has been selected, DX uses COMMAND.COM's
  3266.               TYPE  command  to  copy  the  file to the screen... poor,  but
  3267.               effective.
  3268.  
  3269.  
  3270.  
  3271.               5.13  /DEfer -- Deferred Special Processing
  3272.  
  3273.               The /DEfer  option is primarily used internally. If the /FSize
  3274.               option and  any special processing options are selected at the
  3275.               same time, the  special  processing needs to be deferred until
  3276.               the decision can be made if enough space exists to proceed.
  3277.  
  3278.               This switch may be used manually if it is ever desired to view
  3279.               the  entire  directory  before  allowing special processing to
  3280.               commence.
  3281.  
  3282.               Another case where /DEfer may be useful is when /MOve or /COPy
  3283.               are being used with /FFind. If files are moved to  a directory
  3284.               that has not yet been scanned, they may be  matched  a  second
  3285.               time! This probably is not a desired effect. The use of /DEfer
  3286.               would allow  the  entire  directory  structure  to  be scanned
  3287.               before   any   files   are   moved  thereby  eliminating  that
  3288.               possibility.
  3289.  
  3290.               This switch also takes  a  value  to determine whether actions
  3291.               performed during deferred  special processing are displayed or
  3292.               not. A  value of 'Log' (default) or 'Nolog' determines whether
  3293.               an informative message is printed or not.
  3294.  
  3295.  
  3296.  
  3297.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 47
  3298.  
  3299.  
  3300.  
  3301.  
  3302.  
  3303.          Directory eXtended                                      Version 2.0
  3304.  
  3305.  
  3306.  
  3307.                   dx /copy:a: /defer       => defer file copies until the
  3308.                                               end.
  3309.  
  3310.                   dx /del /de:nolog        => defer file deletions until the
  3311.                                               end; no messages when deleting
  3312.                                               files.
  3313.  
  3314.  
  3315.  
  3316.               5.14  /MSP -- Multi-pass Special Processing
  3317.  
  3318.               The /MSP switch may be used to allow DX to make several passes
  3319.               through special processing  --  asking  the  set  of questions
  3320.               about  the  selected  file(s)  again. This automatically turns
  3321.               /DEfer on.
  3322.  
  3323.                   dx *.bas /del/msp        => view the directory of all
  3324.                                               "*.bas" files; then make
  3325.                                               repeated passes querying
  3326.                                               whether to delete.
  3327.  
  3328.  
  3329.  
  3330.  
  3331.  
  3332.  
  3333.  
  3334.  
  3335.  
  3336.  
  3337.  
  3338.  
  3339.  
  3340.  
  3341.  
  3342.  
  3343.  
  3344.  
  3345.  
  3346.  
  3347.  
  3348.  
  3349.  
  3350.  
  3351.  
  3352.  
  3353.  
  3354.  
  3355.  
  3356.  
  3357.  
  3358.  
  3359.  
  3360.  
  3361.  
  3362.  
  3363.          Page 48                  5.14 /MSP -- Multi-pass Special Processing
  3364.  
  3365.  
  3366.  
  3367.  
  3368.  
  3369.          Version 2.0                                      Directory eXtended
  3370.  
  3371.  
  3372.  
  3373.  
  3374.  
  3375.          6.0  Batch File Generation
  3376.  
  3377.  
  3378.          One of the more powerful features of DX is its ability  to generate
  3379.          batch files. This allows you to apply all of  DX's  file-  matching
  3380.          capabilities to any task you need to perform.
  3381.  
  3382.          The process consists of  supplying  a file which acts as a template
  3383.          to create the batch file. This file can reside on  disk,  it can be
  3384.          entered from the keyboard, it can be redirected from a file,  or it
  3385.          can  be  piped  from another program. Within this file, various two
  3386.          character "variables" get replaced by  the  information  about each
  3387.          file in the directory. The template file does not have  a specified
  3388.          size limit (see section 8.6 on Memory Utilization).
  3389.  
  3390.          In the following table, the examples show what would be substituted
  3391.          for each template variable if the file "C:\Utility\Misc\Myfile.Ext"
  3392.          were matched:
  3393.  
  3394.               $D   =>   the drive id ("C:").
  3395.               $F   =>   the filename only ("Myfile").
  3396.               $E   =>   the extension only (".Ext").
  3397.               $N   =>   the filename and extension ("Myfile.Ext").
  3398.               $P   =>   the file's path ("\Utility\Misc").
  3399.               $S   =>   the         entire        file         specification
  3400.                         ("C:\Utility\Misc\Myfile.Ext").
  3401.  
  3402.          Note  that  if  a  file  within  an  archive  or library were being
  3403.          matched, $P would contain the path  and  name of the archive and $n
  3404.          would be the name and extension  of  the file within the archive --
  3405.          this is of value in building batch files  to  add  or  delete files
  3406.          from archives or libraries.  These  variables  allow you to "build"
  3407.          filenames from separate parts of files.
  3408.  
  3409.              copy $n b:$f.hld            => template copies all matching
  3410.                                             files to the B: drive giving
  3411.                                             them an extension of ".HLD"
  3412.  
  3413.          In  building a batch file, most lines in  the  batch  template  are
  3414.          generated once for each file  processed. This allows you to execute
  3415.          more than one program for each file matched. It may be desirable to
  3416.          execute certain lines only  once  -- either at the beginning of the
  3417.          batch  file  or  at the end. DX will generate lines that start with
  3418.          "${" only once at the beginning and lines that start with "$}" only
  3419.          once at the end. Now, suppose we wanted to copy all  matching files
  3420.          to  B: and then compare them. (Note the use of a DOS pipe ('|')  to
  3421.          answer "COMP"'s "Compare more files ?" question.) We  also  want to
  3422.          issue a pause at the beginning and end and turn echo off:
  3423.  
  3424.  
  3425.  
  3426.  
  3427.  
  3428.  
  3429.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 49
  3430.  
  3431.  
  3432.  
  3433.  
  3434.  
  3435.          Directory eXtended                                      Version 2.0
  3436.  
  3437.  
  3438.  
  3439.               ${echo off
  3440.               ${echo Insert archive disk in B: and strike any key ...
  3441.               ${pause
  3442.               copy $n b:
  3443.               echo n | comp $n b:
  3444.               $}echo Copy and compare complete ...
  3445.               $}pause
  3446.  
  3447.          NOTE that most template  variables  are  recognized anywhere on the
  3448.          line -- the exceptions are "${" and "$}" which are  only recognized
  3449.          if they are the first two characters on the line.
  3450.  
  3451.          Two more exceptions are '$(' and '$)' which also match only if they
  3452.          are the first two characters on a line. They are used  similarly to
  3453.          '${' and '$}' but '$(' and '$)' match the beginning and end of each
  3454.          directory  that   contains   files   that   match   the   directory
  3455.          specification (useful with /FFind).
  3456.  
  3457.          Often, it is necessary to  generate labels or unique numbers within
  3458.          batch files. This  is  accomplished  by  using  "$%"  and  "$#". DX
  3459.          maintains an internal counter and will generate unique numbers each
  3460.          time "$%" is referenced. "$#"  refers to the last number generated.
  3461.          Thus you could generate "GOTO"s within batch files:
  3462.  
  3463.               myprog $s
  3464.               if not errorlevel 1 goto L$%
  3465.               pause Error in MYPROG for file: $s
  3466.               :L$#
  3467.  
  3468.          NOTE that two of the above examples and  some  that  follow  can be
  3469.          done far more efficiently  via  DX's  Special  Processing switches.
  3470.          These examples pre-date DX's ability to do these functions but they
  3471.          were  left as is, rather than changed  to  made-up  program  names,
  3472.          because they are easier  to  relate  to  when visualizing how batch
  3473.          generation works.
  3474.  
  3475.  
  3476.  
  3477.               6.1  /Batch -- Specifying the Batch Template
  3478.  
  3479.               The /Batch switch turns batch processing on and tells DX where
  3480.               to  read  the  "template" file. If no  file  specification  is
  3481.               supplied, DOS Standard  Input  is read. This allows input from
  3482.               the keyboard, input redirection, or piping.
  3483.  
  3484.               The  /EXec-  switch  may be used to  inhibit  execution  until
  3485.               you've tested the command (see section 6.2).
  3486.  
  3487.  
  3488.  
  3489.  
  3490.  
  3491.  
  3492.  
  3493.  
  3494.  
  3495.          Page 50                                   6.0 Batch File Generation
  3496.  
  3497.  
  3498.  
  3499.  
  3500.  
  3501.          Version 2.0                                      Directory eXtended
  3502.  
  3503.  
  3504.  
  3505.               For simple one line batch  generations,  DOS's  "echo" command
  3506.               can be piped into DX. One line batch files are by far the most
  3507.               common -- the /RUn switch was added to make  them  easier.  In
  3508.               the long run, /RUn is slower than "echo"  because  it executes
  3509.               the command for each file  immediately  instead  of processing
  3510.               them as a "batch". Many of the examples here can be  done with
  3511.               "echo" or /RUn:
  3512.  
  3513.                   echo ren $n $f.hld | dx *xx.tmp/b
  3514.                                            => rename all files that end in
  3515.                                               "XX" with the extension ".TMP"
  3516.                                               to ".HLD".
  3517.  
  3518.                   dx *xx.tmp /run:'ren $n $f.hld'
  3519.                                            => same idea using /RUn.
  3520.  
  3521.               Notice,  here,  the  use of "$F" with a different extension to
  3522.               "build" a  filename.  The  "|"  character  between  the "echo"
  3523.               command and the call to DX is called a pipe. DOS will pass the
  3524.               output of "echo"  to  DX  via  a temporary disk file. For this
  3525.               reason, you cannot use this  method  if  the  currently logged
  3526.               disk is  full or write protected. Certain characters cannot be
  3527.               passed via "echo" or /RUn to DX because  they  are interpreted
  3528.               immediately  by  DOS. To overcome  this  restriction,  several
  3529.               other template variables are available:
  3530.  
  3531.                    $_   =>   carriage  return/line  feed   --   this  allows
  3532.                              multiple  line  generation  via  "echo"   (this
  3533.                              template variable cannot be used with /RUn).
  3534.                    $(   =>   '<' -- this allows input redirection within the
  3535.                              batch file.
  3536.                    $)   =>   '>'  --  this  allows output redirection within
  3537.                              the batch file overwriting an existing file.
  3538.                    $]   =>   '>>'  -- this allows output redirection  within
  3539.                              the batch file appending to an existing file.
  3540.                    $!   =>   '|'  --  this allows piping  within  the  batch
  3541.                              file.
  3542.                    $$   =>   '$' -- to actually generate a  dollar  sign two
  3543.                              successive dollar signs are needed.
  3544.  
  3545.               For example:
  3546.  
  3547.                   echo prog1 $n $_ prog2 $n $_ print $f.prn | dx *.in/b
  3548.                           => generate a batch file that runs the programs
  3549.                              "PROG1", "PROG2", and then prints an output
  3550.                              file -- for each file that matches "*.IN".
  3551.  
  3552.  
  3553.  
  3554.  
  3555.  
  3556.  
  3557.  
  3558.  
  3559.  
  3560.  
  3561.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 51
  3562.  
  3563.  
  3564.  
  3565.  
  3566.  
  3567.          Directory eXtended                                      Version 2.0
  3568.  
  3569.  
  3570.  
  3571.               One caution has to  be  observed.  If  any commands within the
  3572.               batch file will read from DOS Standard In (like DOS's  COMP or
  3573.               EDLIN),  you cannot use this mechanism  unless  its  input  is
  3574.               redirected  or piped in. When the  program  attempts  to  read
  3575.               Standard In, there won't be anything left for it and it's time
  3576.               to re-boot. You can overcome  this by either supplying a batch
  3577.               template on disk and giving its name on the /Batch switch (the
  3578.               default extension is ".TPL"):
  3579.  
  3580.                   dx myfile.*/bat:sample   => read the batch template from
  3581.                                               the file "sample.tpl".
  3582.  
  3583.               or  by   generating  the  batch  file  and  not  executing  it
  3584.               immediately (see  the /EXec switch below), or by supplying the
  3585.               input  needed  to  that program. For instance,  in  the  above
  3586.               example  back  at  the beginning of this chapter we COPY'd and
  3587.               COMP'd a set of files. Input to COMP could be piped from ECHO:
  3588.  
  3589.                   echo copy $n b: $_ echo n $! comp $n b: | dx files/b
  3590.                           => generate two lines per matched file; the first
  3591.                              line copies the matched file to B:; the "$_"
  3592.                              creates a carriage return/line feed thus
  3593.                              separating the two lines; the second line
  3594.                              contains "$!" -- this will be expanded to "|"
  3595.                              and cause the "n" to be piped from ECHO to COMP
  3596.                              and, thus, will answer the question "Compare
  3597.                              more files?". (Note that you cannot use "|"
  3598.                              between ECHO and COMP or it will create a pipe
  3599.                              immediately, before DX ever sees the input!)
  3600.  
  3601.               If  any  error  conditions  occur,  batch  file  execution  is
  3602.               inhibited. This includes the  cases  where  no files match the
  3603.               file specification and no room exists for a transfer as tested
  3604.               by /FSize.
  3605.  
  3606.               Note that if you enter input directly from  the  keyboard, the
  3607.               input must be terminated by a line containing only a Control-Z
  3608.               and a Carriage Return.
  3609.  
  3610.               It is perfectly legitimate for a batch file generated by DX to
  3611.               call DX again and again ... you are only limited by the amount
  3612.               of memory you have. One thing to be careful of, however, if DX
  3613.               is called in a batch file being executed by  DX,  a  different
  3614.               output file must be specified  (see the discussion in the next
  3615.               section).  In addition, if DOS Standard  Input  or  Output  is
  3616.               redirected, the internal  call  to DX (and all programs within
  3617.               the batch file) will have the same redirection. It is  best in
  3618.               these cases, to specify all files explicitly.
  3619.  
  3620.               As another example  of  batch file generation, consider a case
  3621.               where  a   user  may  wish  to  copy  the  complete  directory
  3622.               structure, with  all subdirectories in place, from one disk to
  3623.               another (C: to D: in the following example):
  3624.  
  3625.  
  3626.  
  3627.          Page 52                 6.1 /Batch -- Specifying the Batch Template
  3628.  
  3629.  
  3630.  
  3631.  
  3632.  
  3633.          Version 2.0                                      Directory eXtended
  3634.  
  3635.  
  3636.  
  3637.                   echo $(dx c:$p /copy:d:$p\ /v- | dx c:\ /ff /b
  3638.                           => for every directory on c: (template starts with
  3639.                              '$('); build a batch file that calls DX to copy
  3640.                              that entire directory without verification
  3641.                              (unless the files already exist on D:) to the
  3642.                              D: disk -- creating the corresponding path if
  3643.                              necessary (note the trailing '\' in the target
  3644.                              path).
  3645.  
  3646.  
  3647.  
  3648.               6.2  /EXec -- Controlling Automatic Execution
  3649.  
  3650.               The /EXec switch determines whether execution  of  a generated
  3651.               batch file (via /Batch) should begin immediately.  The default
  3652.               for this switch is on. To turn it off, use:
  3653.  
  3654.                   dx myfiles.* /batch:template /ex-
  3655.                                            => build a batch file to process
  3656.                                               all "myfiles.*" but don't
  3657.                                               automatically execute it.
  3658.  
  3659.               Even when DX executes  the  batch  file  internally, it has to
  3660.               write (and then later, delete) a disk file -- this is not true
  3661.               of the /RUn  switch.  The  file  name  on  the  /Output switch
  3662.               determines where this disk  file  is  written.  If /EXec is on
  3663.               (the  default),  the  default  name  for  this  disk  file  is
  3664.               "$$$$DX.BAT". If an  environment variable, "TEMP=" is defined,
  3665.               this variable determines the drive to write this  file  to; if
  3666.               not,  this file is created on the default  drive  and  in  the
  3667.               default directory. If /EXec is turned off, DOS Standard Output
  3668.               becomes the default.  This  means the output can be redirected
  3669.               or piped. If you have a RAM disk, this file  can  be routed to
  3670.               that device to make processing faster. For example, suppose D:
  3671.               is a RAM disk:
  3672.  
  3673.                   dx /b:my_tpl/ex-/out:d:$$$$dx
  3674.                                            => build a batch file using the
  3675.                                               template in "my_tpl"; write it
  3676.                                               to "d:$$$$dx; but don't
  3677.                                               execute it.
  3678.  
  3679.                   set temp=d:              => define D: as the default drive
  3680.                                               for batch files.
  3681.  
  3682.               If  no  extension  is  given  on  this  file, ".BAT"  will  be
  3683.               supplied. The output file name can include a  drive  and path.
  3684.               Note that under DOS 2.x, if you use  immediate  execution, you
  3685.               cannot include a path  in  this  file specification; under DOS
  3686.               3.x  (and  above)  you can. Also note that in order to use the
  3687.               immediate  execution feature, you must have sufficient  system
  3688.               memory to hold DX  (about  88k),  another  copy of the command
  3689.               processor (COMMAND.COM), and the applications you want to run.
  3690.  
  3691.  
  3692.  
  3693.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 53
  3694.  
  3695.  
  3696.  
  3697.  
  3698.  
  3699.          Directory eXtended                                      Version 2.0
  3700.  
  3701.  
  3702.  
  3703.               There may also be  reasons  to generate the batch file and not
  3704.               execute  it  immediately.  For  floppy-based  users,  internal
  3705.               execution will require the  current  disk  (or  a RAM disk) to
  3706.               have a copy of the command processor.
  3707.  
  3708.               Another reason applies  to  hard disk users. Let's examine the
  3709.               following scenario. Everyone knows that it's  a  good practice
  3710.               to backup their hard disk to floppies but how  should  one  do
  3711.               it? Doing a full  backup  can take hours -- especially if you,
  3712.               like me, want  two  complete  sets.  Ok, the solution is to do
  3713.               full backups once  every  couple of weeks and do "incremental"
  3714.               or "change" dumps  daily.  This is convenient because you only
  3715.               back  up  what  has been changed or newly created. The problem
  3716.               here is that you end up with a ton of incremental  dump disks.
  3717.               In addition, if disaster should strike, you have to go through
  3718.               all of those disks to reload everything!
  3719.  
  3720.               The solution? The  best  plan  is  to dump all files that have
  3721.               changed  since the last full dump. This  gives  four  sets  of
  3722.               disks (or two if you only make one set of backups) -- two full
  3723.               dump sets and two incremental dump sets. If you had a disaster
  3724.               you simply reload the two sets. The problem, though, is how do
  3725.               you get your favorite backup utility to do  this  little trick
  3726.               for you.  The answer is: before doing your incremental backup,
  3727.               use  DX to generate a batch file that  can  turn  the  archive
  3728.               attribute back on after dumping  the  files!  This  means that
  3729.               tomorrow when you run your backup again, the  same  files plus
  3730.               newly  changed  files  will  be  dumped  to  the same  set  of
  3731.               incremental backup diskettes!
  3732.  
  3733.               The following batch file performs  an  incremental  dump using
  3734.               DOS's BACKUP utility -- but  could easily work with any backup
  3735.               utility. It generates calls to DX to set the archive attribute
  3736.               back  on  for  all files that had the archive bit set prior to
  3737.               the dump. This batch file  is generated once and then executed
  3738.               after  each  call  to  BACKUP.  (The  batch  file is  executed
  3739.               externally via the "COMMAND/C" command. This  is  actually the
  3740.               same way that DX  executes  the  batch  file internally.) I am
  3741.               assuming, here, that your hard disk is drive C:
  3742.  
  3743.                    echo dx $s/fa:a/v- | dx c:\/at:!a/ff/b/ex-/o:$$dx
  3744.                    pause Ready to create primary Incremental Dump ...
  3745.                    backup c:\ a:/s/m
  3746.                    command/c $$dx
  3747.                    pause Ready to create secondary Incremental Dump ...
  3748.                    backup c:\ a:/s/m
  3749.                    command/c $$dx
  3750.                    del $$dx.bat
  3751.  
  3752.  
  3753.  
  3754.  
  3755.  
  3756.  
  3757.  
  3758.  
  3759.          Page 54                6.2 /EXec -- Controlling Automatic Execution
  3760.  
  3761.  
  3762.  
  3763.  
  3764.  
  3765.          Version 2.0                                      Directory eXtended
  3766.  
  3767.  
  3768.  
  3769.               Reading from the pipe again, this instructs DX  to  start with
  3770.               the  root  of  C:,  process  all files which have the  archive
  3771.               attribute set, search the entire directory tree,  and generate
  3772.               a batch file in the file "$$DX.BAT" without executing it. Each
  3773.               line in the batch file will call DX passing the  complete file
  3774.               specification  and  requesting  that  the archive attribute be
  3775.               set. DOS BACKUP is then called to dump all  changed  files  on
  3776.               the disk. The next step is to execute the batch  file created.
  3777.               When the process is repeated, the exact same set of files will
  3778.               be dumped because  their  archive  attributes  will  have been
  3779.               turned  back  on.  In addition, tomorrow, when  you  run  this
  3780.               again, all files dumped  today  plus  any newly modified files
  3781.               will be dumped. This means that the size of the dump will grow
  3782.               somewhat  from  day  to day -- when it gets too big, simply do
  3783.               another full dump and start from scratch.
  3784.  
  3785.  
  3786.  
  3787.               6.3  /CDir -- Automatic CHDIR Commands
  3788.  
  3789.               The above discussions of batch processing  (/Batch)  work well
  3790.               with  utilities  that  understand  path  specifications.  What
  3791.               happens when you want to  run utilities that do not understand
  3792.               paths? Use the /CDir  switch  to  instruct DX to automatically
  3793.               generate change directory commands ("CHDIR"  or  "CD")  in the
  3794.               batch file. At the  end  of the batch file, a change directory
  3795.               will be issued  back  to  the  directory in effect when DX was
  3796.               run:
  3797.  
  3798.                   dx \t*.pas /ffind /b:skel /cd
  3799.                                            => issue automatic change
  3800.                                               directories to process all
  3801.                                               "t*.pas" files on the disk.
  3802.  
  3803.  
  3804.  
  3805.               6.4  Preview a Batch File / Create a List of Files
  3806.  
  3807.               If you are not sure of how a batch file will turn out, preview
  3808.               it  before  actually  letting it run by adding "/EXec-" to the
  3809.               command  (see  section  6.2). This will cause the output to be
  3810.               written to DOS  Standard  Output (unless an /Output switch was
  3811.               used) which allows  you  to  view  the output. If you like it,
  3812.               simply  recall  the  line with F3 (or  whatever  your  command
  3813.               processor  requires)  and  erase the "/EX-" -- or modify it as
  3814.               needed.
  3815.  
  3816.               A  natural  consequence  of  batch  file  creation  is  simply
  3817.               creating  a list of files that may  be  processed  by  another
  3818.               program.  Use  a  template file of  simply  "$n"  or  "$s"  or
  3819.               whatever  your program expects (perhaps "file=$n; path=$p"  ?)
  3820.               and either pipe this to your program or  write  it  to  a file
  3821.               that  your  program  will read. Don't forget to use the "/EX-"
  3822.               switch to inhibit execution. Examples:
  3823.  
  3824.  
  3825.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 55
  3826.  
  3827.  
  3828.  
  3829.  
  3830.  
  3831.          Directory eXtended                                      Version 2.0
  3832.  
  3833.  
  3834.  
  3835.                   echo $s | dx *.pas/b/ex- | myprog
  3836.                                            => create a file containing the
  3837.                                               complete filespec of all
  3838.                                               "*.pas" files and pipe it into
  3839.                                               "myprog".
  3840.  
  3841.                   echo drive=$d; path=$p; name=$n | dx files/b/ex-/o:d:xx
  3842.                                            => create one line per file and
  3843.                                               write it to "d:xx".
  3844.  
  3845.  
  3846.  
  3847.               6.5  Matching Directories in Batch Files
  3848.  
  3849.               Normally, DX will not match  directory  names  when generating
  3850.               batch files. In most cases, you would not want this to happen.
  3851.  
  3852.                   dx .../b/at:d            => match directory names as well
  3853.                                               as filenames.
  3854.  
  3855.                   dx .../b/at:!d           => match only directory names.
  3856.  
  3857.  
  3858.  
  3859.  
  3860.  
  3861.  
  3862.  
  3863.  
  3864.  
  3865.  
  3866.  
  3867.  
  3868.  
  3869.  
  3870.  
  3871.  
  3872.  
  3873.  
  3874.  
  3875.  
  3876.  
  3877.  
  3878.  
  3879.  
  3880.  
  3881.  
  3882.  
  3883.  
  3884.  
  3885.  
  3886.  
  3887.  
  3888.  
  3889.  
  3890.  
  3891.          Page 56                     6.5 Matching Directories in Batch Files
  3892.  
  3893.  
  3894.  
  3895.  
  3896.  
  3897.          Version 2.0                                      Directory eXtended
  3898.  
  3899.  
  3900.  
  3901.  
  3902.  
  3903.          7.0  Customizing DX
  3904.  
  3905.  
  3906.          DX has a veritable plethora of switches and  options  available but
  3907.          it sure would be inconvenient to have to type them every  time. The
  3908.          convenience options -- like /Pause, /CAse, /FColor, and /12 -- just
  3909.          wouldn't seem  very convenient. You may set default switch settings
  3910.          for DX by  using  DOS "environment variables". Your DOS environment
  3911.          consists  of  strings  that  specify  things like where  to  reload
  3912.          COMMAND.COM  from (COMSPEC), your PATH, and  your  PROMPT  (if  you
  3913.          change it). DX will  recognize  two  strings  in the environment --
  3914.          "DX0" and "DX". The reason for  two  is that you will probably want
  3915.          to place one string in your AUTOEXEC.BAT file so that it will be in
  3916.          effect every time you start your computer. The other string is then
  3917.          available to use as a temporary in case you want to  use  a  set of
  3918.          parameters for a few calls to DX and then get rid of them.
  3919.  
  3920.          To set environment variables, you simply type:
  3921.  
  3922.               set dx0=/switch:value/switch:value...
  3923.                    - or -
  3924.               set dx=/switch:value/switch:value...
  3925.  
  3926.          DX first scans the "DX0" variable, then the "DX" variable, and then
  3927.          options on the command line. For this reason, "DX0" should  be used
  3928.          in your AUTOEXEC.BAT file  and  "DX"  should  be the temporary. For
  3929.          example, you might put the following in your AUTOEXEC.BAT (the line
  3930.          is  split  for  readability; it cannot be split in the AUTOEXEC.BAT
  3931.          file but it can be longer than 80 characters):
  3932.  
  3933.               set dx0=/he:1/p:d/ca:l/fc:black/bc:cyan/so:nes-...
  3934.                    /vl:c/li:d:\list.com/rd/arcdt
  3935.  
  3936.          This has the effect of setting the header level to 1  (no Copyright
  3937.          notice);  pausing  on directory boundaries;  selecting  lower  case
  3938.          output; setting colors to black on cyan; sort criteria of ascending
  3939.          name, ascending extension, and  then  descending  size;  the verify
  3940.          level is set to automatic compare after copy; the list processor is
  3941.          specified; and permission to remove empty directories and update an
  3942.          ARChive's date/time is given.
  3943.  
  3944.          To see what your environment variables are currently set to, simply
  3945.          type the DOS command "SET".
  3946.  
  3947.          You can  change these environment variables simply by retyping them
  3948.          and you can delete them by setting them to nothing:
  3949.  
  3950.               set dx=
  3951.  
  3952.  
  3953.  
  3954.  
  3955.  
  3956.  
  3957.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 57
  3958.  
  3959.  
  3960.  
  3961.  
  3962.  
  3963.          Directory eXtended                                      Version 2.0
  3964.  
  3965.  
  3966.  
  3967.          NOTE: There is an undocumented "feature" in DOS of which you should
  3968.          be aware. If you type any spaces between the keyword and  the equal
  3969.          sign, they will be recorded with the keyword. This is not a problem
  3970.          to DX but if you are  not  consistent, you will create two versions
  3971.          of the same variable. For example:
  3972.  
  3973.              set dx =/Pause              => DOS sets the environment
  3974.                                             variable name to "DX ".
  3975.  
  3976.              set dx=/Wide                => DOS sets the environment
  3977.                                             variable name to "DX".
  3978.  
  3979.          will set two environment variables -- DX will only "see" the first.
  3980.          The rule is to be consistent.
  3981.  
  3982.          If you set a switch on or off in an  environment  variable and then
  3983.          decide you  don't  want  it  set for a specific call to DX, you can
  3984.          still change it temporarily. Environment  variables  only  change a
  3985.          switch's default:
  3986.  
  3987.              set dx0=/pause/exec-        => set /Pause on and /EXec off by
  3988.                                             default.
  3989.  
  3990.              dx/p-/ex                    => override default: don't pause
  3991.                                             and execute automatically.
  3992.  
  3993.          In addition, you can decide that for an individual call to  DX, all
  3994.          environment settings should be  ignored.  This  is done by starting
  3995.          the switch string on the command line with a  double  slash  ('//')
  3996.          optionally followed by actual switches. Examples:
  3997.  
  3998.              dx // a:                    => ignore all default switches.
  3999.  
  4000.              dx //w test.fil             => ignore all defaults; display
  4001.                                             wide output.
  4002.  
  4003.          Similarly, if the DX environment variable starts with '//', the DX0
  4004.          variable will be ignored. In actuality, any time a double  slash is
  4005.          encountered, all previous switches are discarded.
  4006.  
  4007.          Again,  the "TEMP=" environment variable may be  used  to  set  the
  4008.          default drive for batch files:
  4009.  
  4010.              set temp=d:                 => use drive "D:" as the default
  4011.                                             for generated batch files.
  4012.  
  4013.          NOTE that while DX  normally  allows switch values to be equated by
  4014.          either a ':' or an '=', most versions of DOS will not allow the use
  4015.          of more than one '=' on the SET directive:
  4016.  
  4017.              set dx0=/bcolor=yellow      => DOS ERROR!!
  4018.  
  4019.              set dx0=/bcolor:yellow      => no problem.
  4020.  
  4021.  
  4022.  
  4023.          Page 58                                          7.0 Customizing DX
  4024.  
  4025.  
  4026.  
  4027.  
  4028.  
  4029.          Version 2.0                                      Directory eXtended
  4030.  
  4031.  
  4032.  
  4033.          NOTE that the use  of  environment variables ties up a small amount
  4034.          of  DOS system memory. This is usually not a concern, but a copy of
  4035.          the environment  is allocated with each Terminate and Stay Resident
  4036.          (TSR) utility. For this reason, it is considered  good  practice to
  4037.          set your environment variables AFTER any TSR's are loaded.
  4038.  
  4039.  
  4040.  
  4041.  
  4042.  
  4043.  
  4044.  
  4045.  
  4046.  
  4047.  
  4048.  
  4049.  
  4050.  
  4051.  
  4052.  
  4053.  
  4054.  
  4055.  
  4056.  
  4057.  
  4058.  
  4059.  
  4060.  
  4061.  
  4062.  
  4063.  
  4064.  
  4065.  
  4066.  
  4067.  
  4068.  
  4069.  
  4070.  
  4071.  
  4072.  
  4073.  
  4074.  
  4075.  
  4076.  
  4077.  
  4078.  
  4079.  
  4080.  
  4081.  
  4082.  
  4083.  
  4084.  
  4085.  
  4086.  
  4087.  
  4088.  
  4089.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 59
  4090.  
  4091.  
  4092.  
  4093.  
  4094.  
  4095.          Directory eXtended                                      Version 2.0
  4096.  
  4097.  
  4098.  
  4099.  
  4100.  
  4101.          8.0  Using DX
  4102.  
  4103.  
  4104.  
  4105.               8.1  Testing Termination Conditions
  4106.  
  4107.               DX will set  DOS's  ERRORLEVEL  variable  to  indicate various
  4108.               termination conditions. This can be helpful in a batch file to
  4109.               detect errors, determine if  a  drive  exists  or if any files
  4110.               match a given specification. (We  are now referring to a batch
  4111.               file containing a call to DX, not one that DX  generates.) The
  4112.               following values are returned under the following conditions:
  4113.  
  4114.                      0   =>  Normal termination, no problems.
  4115.                     10   =>  No files matched the specification.
  4116.                     12   =>  Directory path not found.
  4117.                     20   =>  No room for transfer (/FSize failure).
  4118.                     22   =>  Files did not compare.
  4119.                     30   =>  User abort: Terminated by a ^C or ^Break.
  4120.                     40   =>  A syntax error was detected.
  4121.                     50   =>  An  access  error.  This includes referencing a
  4122.                              disk that  does not exist and not being able to
  4123.                              open a file.
  4124.                    100   =>  An  internal runtime  error.  This  could  mean
  4125.                              running out of managed memory (see section 8.6)
  4126.                              or a program bug.
  4127.  
  4128.               As  an example, you might want to test  if  any  hidden  files
  4129.               exist in the current directory (note that DOS allows a maximum
  4130.               of  8-character  labels,  longer  labels  are  used  here  for
  4131.               illustration only):
  4132.  
  4133.                    dx /at:!h/out:nul
  4134.                    if errorlevel 10 goto no-hidden
  4135.  
  4136.               Notice the use of "/out:nul"  throwing  the  output  away. You
  4137.               might want to determine if a disk exists on a given system:
  4138.  
  4139.                    dx d:/out:nul
  4140.                    if errorlevel 50 goto no-d-disk
  4141.  
  4142.               Remember, when checking ERRORLEVEL, DOS considers the  test to
  4143.               be a greater than or equal to test. In the example above, when
  4144.               testing  ERRORLEVEL  against  the value 10, any  value  10  or
  4145.               greater will match. For  this  reason,  the  checks have to be
  4146.               done in reverse order. If you ever wanted to test all possible
  4147.               conditions:
  4148.  
  4149.  
  4150.  
  4151.  
  4152.  
  4153.  
  4154.  
  4155.          Page 60                                                8.0 Using DX
  4156.  
  4157.  
  4158.  
  4159.  
  4160.  
  4161.          Version 2.0                                      Directory eXtended
  4162.  
  4163.  
  4164.  
  4165.                    dx ...
  4166.                    if errorlevel 100 goto runtime-error
  4167.                    if errorlevel 50 goto access-error
  4168.                    if errorlevel 40 goto syntax-error
  4169.                    if errorlevel 30 goto control-c
  4170.                    if errorlevel 22 goto bad-compare
  4171.                    if errorlevel 20 goto no-room
  4172.                    if errorlevel 12 goto no-path
  4173.                    if errorlevel 10 goto no-files
  4174.                    rem No problems here.
  4175.  
  4176.  
  4177.  
  4178.               8.2  Compatibility and Performance Considerations
  4179.  
  4180.                    8.2.1  /VIDeo -- Controlling Direct Screen Access
  4181.  
  4182.                    DX has three options  to  determine  how screen output is
  4183.                    performed. By  far  the  fastest  output  is  produced by
  4184.                    writing directly  to your display memory. This opens up a
  4185.                    number of hardware and software  compatibility questions.
  4186.                    Hardware  compatibility because your display adapter  may
  4187.                    or  may  not   create  "snow"  when  directly  addressed;
  4188.                    software   compatibility   because   many   multi-tasking
  4189.                    programs and even some screen  drivers may not be able to
  4190.                    handle programs that directly address the screen.
  4191.  
  4192.                        dx /vid:Direct         => fastest I/O, no snow
  4193.                                                  prevention
  4194.  
  4195.                        dx /video:DIRECTSnow   => direct screen I/O with snow
  4196.                                                  prevention (default)
  4197.  
  4198.                        dx /vid:Bios           => use the system BIOS
  4199.  
  4200.                        dx /output             => output through DOS
  4201.  
  4202.                    NOTE: You  can select DOS Standard Output through the use
  4203.                    of the /Output switch (see  section  2.10)  --  this only
  4204.                    affects  the main display. Informative messages never  go
  4205.                    through DOS so you may have to use both options.
  4206.  
  4207.  
  4208.                    8.2.2  /NONstd -- Handling Non-standard Environments
  4209.  
  4210.                    DX makes one non-documented DOS function  call  to obtain
  4211.                    certain disk parameters without  incurring  a  free space
  4212.                    computation  which  can  be  very time-consuming on large
  4213.                    hard disks. This function request has historically caused
  4214.                    problems for  network users and users with less than 100%
  4215.                    compatible systems. This function call is no  longer used
  4216.                    on network drives but  at  least  one system, the Toshiba
  4217.                    3200 running Toshiba-DOS 3.2, hangs when this function is
  4218.  
  4219.  
  4220.  
  4221.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 61
  4222.  
  4223.  
  4224.  
  4225.  
  4226.  
  4227.          Directory eXtended                                      Version 2.0
  4228.  
  4229.  
  4230.  
  4231.                    issued. A  "/NONstd" switch has been added to defeat this
  4232.                    request on such systems:
  4233.  
  4234.                        set dx0=.../nonstd     => inhibit the non-standard
  4235.                                                  DOS function request.
  4236.  
  4237.  
  4238.                    8.2.3  /NETaccess -- Handling Network Conflicts
  4239.  
  4240.                    The /NETaccess switch may be  used  to  determine  how DX
  4241.                    will handle  a  Local  Area  Network  conflict  ("Sharing
  4242.                    Violation" or "Lock Violation"):
  4243.  
  4244.                    The default  (/NET:Criterr)  puts  the  standard flashing
  4245.                    critical  error  message  at the top of  the  screen  and
  4246.                    allows you  to  select  'A'bort,  'R'etry,  'I'gnore,  or
  4247.                    'F'ail.  In  addition,  selecting  'W'ait switches to the
  4248.                    /NET:Wait mode.
  4249.  
  4250.                    Selecting /NET:Fail will not give a  flashing  message at
  4251.                    all, the critical error handler will automatically return
  4252.                    a fail to DOS resulting in an appropriate message.
  4253.  
  4254.                    Selecting  /NET:Wait, you'll get a flashing message  that
  4255.                    includes "waiting for network  access".  In  a  couple of
  4256.                    seconds, the message will disappear and DX  will initiate
  4257.                    a retry. When  the  message is blinking onscreen, you can
  4258.                    answer 'A'bort, 'I'gnore, or 'F'ail yourself (if  you get
  4259.                    tired of waiting).
  4260.  
  4261.                        /NETaccess:Criterr     => default error handler.
  4262.  
  4263.                        /NETacc:Fail           => automatic fail.
  4264.  
  4265.                        /NET:Wait              => wait for file.
  4266.  
  4267.  
  4268.                    8.2.4  Enhancing DOS Performance
  4269.  
  4270.                    DX runs best from a RAM Disk; loading from a hard disk is
  4271.                    slightly  slower;  and  loading  from  a  floppy  disk is
  4272.                    unreasonable.
  4273.  
  4274.                    How many software products do you have that recommend you
  4275.                    create  a  CONFIG.SYS  file  specifying FILES and BUFFERS
  4276.                    statements?  The  truth  is,  they  really  do   make  an
  4277.                    incredible difference and they don't  cost  very  much in
  4278.                    terms  of  memory.  DX and every program you run will run
  4279.                    faster with more  buffers  available and the default of 8
  4280.                    files  when  DOS  uses 5 only leaves 3 for your programs.
  4281.                    The CONFIG.SYS file must be present on the  boot  disk. I
  4282.                    recommend creating a CONFIG.SYS file  with  at  least the
  4283.                    following lines (you  may  already  have  one  that loads
  4284.  
  4285.  
  4286.  
  4287.          Page 62           8.2 /NONstd -- Handling Non-standard Environments
  4288.  
  4289.  
  4290.  
  4291.  
  4292.  
  4293.          Version 2.0                                      Directory eXtended
  4294.  
  4295.  
  4296.  
  4297.                    various drivers --  make  sure these lines are present as
  4298.                    well):
  4299.  
  4300.                         FILES=20
  4301.                         BUFFERS=24
  4302.  
  4303.  
  4304.  
  4305.               8.3  Using DX with Command Line Enhancers
  4306.  
  4307.               DX works well with  command line  enhancers.  The file  DX.SYN
  4308.               on the distribution disk contains numerous examples of command
  4309.               synonyms that will  work with  ECONO-SOFT's new  Command  Line
  4310.               Enhancer (due out by the end of 1990) or Cove Software's PCED.
  4311.               Adapting these synonyms to other Command Line Enhancers should
  4312.               be very easy.
  4313.  
  4314.  
  4315.  
  4316.  
  4317.  
  4318.  
  4319.  
  4320.  
  4321.  
  4322.  
  4323.  
  4324.               8.4  /ALTernate Pattern Separators
  4325.  
  4326.               The  '+'  and  ';'  were  chosen  to  separate  inclusion  and
  4327.               exclusion  patterns because they are considered as  separators
  4328.               by DOS's COMMAND.COM. Some  command  processors,  most notably
  4329.               PCED, have  trouble  with  these  characters.  You  may choose
  4330.               alternate  separators with the /ALTernate switch. This  switch
  4331.               takes exactly two characters  where  the  first  is taken as a
  4332.               substitute for '+' and the second is a substitute for ';'. Any
  4333.               ASCII   character   may   be   used  (including  most  control
  4334.               characters) but the  selection  should be made carefully as it
  4335.               may conflict  with  other  uses  for  various  characters. You
  4336.               should avoid using characters  that  might  be  present within
  4337.               filenames. The following works well with PCED:
  4338.  
  4339.                   set dx0=/alt:%~          => use '%' instead of '+' and '~'
  4340.                                               instead of ';'
  4341.  
  4342.                   dx file.*%*test*~test.com
  4343.                                            => match "file.*" and "*test*"
  4344.                                               but not "test.com".
  4345.  
  4346.  
  4347.  
  4348.  
  4349.  
  4350.  
  4351.  
  4352.  
  4353.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 63
  4354.  
  4355.  
  4356.  
  4357.  
  4358.  
  4359.          Directory eXtended                                      Version 2.0
  4360.  
  4361.  
  4362.  
  4363.               8.5  /INfo -- A Quick Reminder
  4364.  
  4365.               The decision was made not to include help  information  in the
  4366.               DX  program because of the size of the  program  now  and  the
  4367.               probability  that it will get bigger.  There  is,  however,  a
  4368.               small amount of help available with the /INfo  switch.  All of
  4369.               the switch names  are  shown in mixed upper/lower case showing
  4370.               you  the minimum abbreviation for each  switch.  This  is  not
  4371.               intended to be a complete help system, but it may serve to jog
  4372.               your memory.
  4373.  
  4374.                   /INfo                    => display switch names.
  4375.  
  4376.  
  4377.  
  4378.               8.6  Memory Utilization
  4379.  
  4380.               DX is set up to allocate  15k  of memory for internal usage --
  4381.               this  is  called  the  "heap"  and is used for sorting  files,
  4382.               searching directories, archives, and libraries  (with /FFind),
  4383.               storing a batch  template  file, and storing the various file-
  4384.               matching patterns. This  memory  is sufficient to use sort and
  4385.               file  find  together  on  a  30 Megabyte disk with about  1500
  4386.               files. DX  is usually very memory efficient and re-uses memory
  4387.               as soon as it's not needed any longer. One  option  that  will
  4388.               defeat that is the use of /DEfer (or /FSize which uses /DEfer)
  4389.               --  this  causes  DX to keep every matching filename until the
  4390.               end of  its run. If you are matching  "*.*"  on  a  large disk
  4391.               combined  with  /FFind...  you  may  run out of memory. If  DX
  4392.               should run out of  memory,  it  will  inform you. You probably
  4393.               will never see  this  message  but,  if  you  do,  the DX_HEAP
  4394.               program included on  the  DX distribution diskette may be used
  4395.               to  inspect  and  change the amount of memory allocated to the
  4396.               heap.
  4397.  
  4398.               DX_HEAP will search the current directory and DOS path to find
  4399.               DX.EXE -- or you  may  supply the full file specification as a
  4400.               command-line  parameter. The second command-line parameter  to
  4401.               DX_HEAP  may be the size to set the heap to -- or DX_HEAP will
  4402.               prompt  you  for  the value. (Actually, DX_HEAP may be used to
  4403.               modify the heap in  any  program  created with Borland's Turbo
  4404.               Pascal v5.0.)
  4405.  
  4406.               You  may want to create a "large-memory"  version  of  DX  for
  4407.               those  tasks that need it (by large-memory,  40k  of  heap  is
  4408.               probably more than you would ever need!).
  4409.  
  4410.               The next question, then,  is  why  allocate  only 15k? Why not
  4411.               make use of  all  of  my  system's memory? The main reason for
  4412.               this is that DX has  many options for executing other programs
  4413.               from within it. In order for these programs to  have  as  much
  4414.               memory as possible, the  size  of  DX  is kept small. Another,
  4415.               less important reason, is that  limiting  memory  protects the
  4416.               transient portion of COMMAND.COM  from  being  over-written --
  4417.  
  4418.  
  4419.          Page 64                               8.5 /INfo -- A Quick Reminder
  4420.  
  4421.  
  4422.  
  4423.  
  4424.  
  4425.          Version 2.0                                      Directory eXtended
  4426.  
  4427.  
  4428.  
  4429.               which  avoids  the  reload  delay  (and  the  annoying "Insert
  4430.               COMMAND.COM disk" message on a floppy-based system).
  4431.  
  4432.               NOTE   that  when  DX  performs  special  processing   (/COPy,
  4433.               /COMPare, /CRC, etc.),  it  quite often needs larger blocks of
  4434.               memory  --  these  are requested of  DOS  for  only  the  time
  4435.               required  and  then   returned.  This  also  maximizes  memory
  4436.               available  for  other   programs.  (Previous  versions  of  DX
  4437.               reserved an internal 64k buffer for these operations.)
  4438.  
  4439.  
  4440.  
  4441.               8.7  Aborting and Escaping
  4442.  
  4443.               At any time during  DX's  execution, you may type ^C or ^Break
  4444.               to  abort the program. In addition,  hitting  the  ESCape  key
  4445.               while the directory is being  displayed  will cause DX to skip
  4446.               to  the statistics portion of the output  as  if  the  /Totals
  4447.               switch had been used (hitting  ESCape a second time will cause
  4448.               DX to skip to global  statistics as if /Totals:Global had been
  4449.               used).
  4450.  
  4451.               A ^S may  be  typed  at  any  time and will force an immediate
  4452.               pause.
  4453.  
  4454.               NOTE  that  if  you have typed ahead, DX will not "see" any of
  4455.               these characters... a ^Break will be your only option.
  4456.  
  4457.  
  4458.  
  4459.               8.8  /SWatch -- Execution Time and ERRORLEVEL
  4460.  
  4461.               The /SWatch switch will cause DX to display  the  elapsed time
  4462.               and the DOS ERRORLEVEL set on termination:
  4463.  
  4464.                   dx /sw                   => display the elapsed time and
  4465.                                               DOS ERRORLEVEL.
  4466.  
  4467.  
  4468.  
  4469.  
  4470.  
  4471.  
  4472.  
  4473.  
  4474.  
  4475.  
  4476.  
  4477.  
  4478.  
  4479.  
  4480.  
  4481.  
  4482.  
  4483.  
  4484.  
  4485.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 65
  4486.  
  4487.  
  4488.  
  4489.  
  4490.  
  4491.          Directory eXtended                                      Version 2.0
  4492.  
  4493.  
  4494.  
  4495.  
  4496.  
  4497.          Appendix A.  Quick Reference
  4498.  
  4499.  
  4500.          Formatting and Preference Options:
  4501.              /Pause             => Pause when screen full.
  4502.              /Pause:Directory   => Pause on directory boundaries as well.
  4503.              /Wide              => List names only across the screen.
  4504.              /SINGle            => One file per line with extra info.
  4505.              /Totals            => Sub and Grand totals only.
  4506.              /Totals:Global     => Grand totals only.
  4507.              /Totals:Subtotals  => Subtotals only.
  4508.              /Header:n          => Header level n: 0 .. 2.
  4509.              /STats:n           => Statistics level n: 0 .. 4.
  4510.              /STats:f:h         => Statistic levels for floppy:hard disks.
  4511.              /CAse:option       => Select Upper/Lower/Initial(default) caps.
  4512.              /12                => Select 12 hour time format.
  4513.              /Output            => Output to DOS Standard Output allowing
  4514.                                    redirection and piping.
  4515.              /Output:filespec   => Output to filespec (batch processing
  4516.                                    default extension is ".BAT").
  4517.              /PRint:printer     => Format for printer (sets /Output:PRN).
  4518.              /PRMode:mode       => Print mode: Normal, Compressed, or Tiny.
  4519.              /PRMArg:left:right => Set left or left and right margins.
  4520.              /BColor:color      => Background color: Black, BLUe, Green,
  4521.                                    Cyan, Red, Magenta, BRown, Lgray, GRAy,
  4522.                                    LBlue, LGREen, LCyan, LRed, LMagenta,
  4523.                                    Yellow, White.
  4524.              /FColor:color      => Foreground color (as above).
  4525.              /DColor:color      => Directory  color (as above).
  4526.              /ANSI              => Color support through xANSI.SYS
  4527.              /Quiet             => Inhibit informative messages.
  4528.              /NLines:n          => Set screen or page height.
  4529.              /ALign             => Align extensions.
  4530.              /ANgle             => Use "<DIR>" instead of "--dir--".
  4531.              /ARCDT:Log/Nolog   => Validate ARC/LBR timestamps.
  4532.              /ALTernate:xy      => Use 'x' for '+' and 'y' for ';'.
  4533.  
  4534.          File Matching Options:
  4535.              /Full              => Display all files.
  4536.              /ATtr:!fadhnrs+-   => Select file attributes.
  4537.              /Command           => Match .COM/.EXE/.BAT files.
  4538.              /SIze:low:high     => Range of size (inclusive).
  4539.              /SIze:-low:high    => Range of size (exclusive).
  4540.              /SINce:datetime    => Start of date/time range.
  4541.              /BEfore:datetime   => End of date/time range.
  4542.              /DOTstar-          => Turn automatic ".*" addition off.
  4543.  
  4544.  
  4545.  
  4546.  
  4547.  
  4548.  
  4549.  
  4550.  
  4551.          Page 66                                         0.0 Quick Reference
  4552.  
  4553.  
  4554.  
  4555.  
  4556.  
  4557.          Version 2.0                                      Directory eXtended
  4558.  
  4559.  
  4560.  
  4561.          Utility Options:
  4562.              /SOrt:nesdac*-     => Sort files according to "NESDTAC*-".
  4563.              /FFind             => Search multiple directories.
  4564.              /FFind:option      => Search: All/Directory/ARchive/Library.
  4565.              /FSize:d           => Test for room to transfer to drive "d".
  4566.              /FSize:nnnn        => Test for room needed to transfer to a
  4567.                                    drive with cluster size "nnnn".
  4568.              /FSBlink           => Cause /FSize message to blink.
  4569.              /Ldir              => List directory names only.
  4570.              /CKsum             => Checksum files.
  4571.              /CRC               => Cyclic Redundancy Checks.
  4572.              /SWatch            => Show runtime and DOS ERRORLEVEL.
  4573.              /INfo              => Report switch names and abbreviations.
  4574.  
  4575.          Special Processing:
  4576.              /MOve:target       => Move files.
  4577.              /COPy:target       => Copy files.
  4578.              /APpend:target     => Append files.
  4579.              /COMPare:target    => Compare files.
  4580.              /REName:target     => Rename files.
  4581.              /GOBak:.ext        => Go back to backup file.
  4582.              /FDate:datetime    => Set a file's date/time.
  4583.              /FAttr:!ahnrs+-    => Change file attributes.
  4584.              /TDate:datetime    => Set target file's date/time.
  4585.              /TAttr:*!ahnrs     => Set target file's attributes.
  4586.              /DELete            => Delete files.
  4587.              /RUn:'command'     => Single-line batch-like commands.
  4588.              /VIew              => View files.
  4589.              /Verify-           => Turn off special processing verification.
  4590.              /OVerwrite:option  => Overwrite options: Yes, NO, Ask, Newer,
  4591.                                    Older, Larger, Smaller, Mustexist,
  4592.                                    APPend.
  4593.              /ROnly:option      => Read-only handling: Ask, Never, Ignore.
  4594.              /LIst:filespec     => List utility for /Verify and /VIew.
  4595.              /VLevel:option     => Verify level: Default, Compare,
  4596.                                    Ifcompare, Off, ON.
  4597.              /RDir:Log/Nolog    => Remove empty directories.
  4598.              /MDir:Log/Nolog    => Create missing directories.
  4599.              /DEfer:Log/Nolog   => Force deferred special processing.
  4600.              /MSP               => Multi-pass Special Processing.
  4601.  
  4602.          Compatibility Options:
  4603.              /VIDeo:mode        => Screen I/O: Direct, DIRECTSnow, or Bios.
  4604.              /NONSTD            => Prevent non-documented DOS function call.
  4605.              /NETaccess:mode    => Action to take on network conflict:
  4606.                                    Criterr, Wait, Fail
  4607.  
  4608.          Batch File Generation:
  4609.              /Batch             => Read template from DOS Standard Input
  4610.                                    allowing redirection and piping.
  4611.              /Batch:filespec    => Read template from filespec (the default
  4612.                                    extension is ".TPL").
  4613.              /EXec-             => Inhibit automatic execution.
  4614.              /CDir              => Generate CHDIR commands.
  4615.  
  4616.  
  4617.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 67
  4618.  
  4619.  
  4620.  
  4621.  
  4622.  
  4623.          Directory eXtended                                      Version 2.0
  4624.  
  4625.  
  4626.  
  4627.          Template File Variables (/Batch and /RUn):
  4628.              $D                 => Drive id (A:).
  4629.              $F                 => Filename only (FILE).
  4630.              $E                 => Extension only (.EXT).
  4631.              $N                 => Filename and extension (FILE.EXT).
  4632.              $P                 => File's path (\SUB1\MISC).
  4633.              $S                 => Full spec (A:\SUB1\MISC\FILE.EXT).
  4634.              $_                 => New Line (Carriage Return/Line Feed).
  4635.              $(                 => "<" -- input redirection.
  4636.              $)                 => ">" -- output redirection (overwrite).
  4637.              $]                 => ">>" -- output redirection (append).
  4638.              $!                 => "|" -- piping.
  4639.              $$                 => "$" -- to actually output a "$".
  4640.              $%                 => Unique number.
  4641.              $#                 => Last unique number.
  4642.  
  4643.          Template File Variables -- Beginning of Line Only (/Batch):
  4644.              ${                 => Generate as batch file header only.
  4645.              $}                 => Generate as batch file trailer only.
  4646.              $(                 => Beginning of directory only.
  4647.              $)                 => End of directory only.
  4648.  
  4649.          Remember  that  file  specifications  may contain multiple patterns
  4650.          separated  by  '+'  or  spaces  to  include  multiple patterns  and
  4651.          separated by ';' to exclude patterns:
  4652.  
  4653.                          Include.fil+Include.fil;Exclude.fil
  4654.  
  4655.          Also remember that  patterns  may have characters between and after
  4656.          the '*'s and any number of '*'s:
  4657.  
  4658.                     *TEST*.*X*           F*TE*LF            F*?*X
  4659.  
  4660.          The following may be typed anytime:
  4661.              ^C or ^Break       => Abort DX immediately.
  4662.              ESC                => Skip to statistics.
  4663.              ^S                 => Force a pause.
  4664.  
  4665.          Use a comma at the end of a command for continuation.
  4666.  
  4667.  
  4668.  
  4669.  
  4670.  
  4671.  
  4672.  
  4673.  
  4674.  
  4675.  
  4676.  
  4677.  
  4678.  
  4679.  
  4680.  
  4681.  
  4682.  
  4683.          Page 68                                         0.0 Quick Reference
  4684.  
  4685.  
  4686.  
  4687.  
  4688.  
  4689.          Version 2.0                                      Directory eXtended
  4690.  
  4691.  
  4692.  
  4693.  
  4694.  
  4695.          Appendix B.  Registration Form
  4696.  
  4697.  
  4698.          If  you  find  DX useful, please send your registration fee.   This
  4699.          payment   is  the  only incentive to continue  to  produce  quality
  4700.          software at affordable prices. Please support the ShareWare concept
  4701.          and send a registration fee of  $49.95 (includes a printed manual).
  4702.          Also, whether you use DX or  not,  please pass DX.EXE and DX.DOC on
  4703.          to as many people or  bulletin boards as possible. Dealer inquiries
  4704.          welcome. Corporate licenses available. ECONO-SOFT offers a  30 day,
  4705.          no questions asked, money-back guarantee.
  4706.  
  4707.          Name:      __________________________________  Date: ____/____/____
  4708.  
  4709.          Address:   ________________________________________________________
  4710.  
  4711.          City:      _________________________  State: _____  Zip: __________
  4712.  
  4713.          Version:   ________  My Copy From: ________________________________
  4714.  
  4715.          Computer:  _________________  DOS Version: PC-DOS ____; MS-DOS ____
  4716.  
  4717.          E-Mail:    _______________
  4718.  
  4719.  
  4720.          I am enclosing $______ ($49.95 minimum - includes a printed manual)
  4721.          to help support DX. Texas residents please add 8% sales tax. Please
  4722.          send my personally  registered  copy  of  DX. Please add my name to
  4723.          your mailing list for information on updates and other products.
  4724.  
  4725.          Please charge my credit card as indicated:
  4726.  
  4727.          Master Card or Visa # _____________________________ Exp ___/___/___
  4728.  
  4729.          Signature  ________________________________________________________
  4730.  
  4731.  
  4732.  
  4733.          Please address all correspondence to:
  4734.  
  4735.                  ECONO-SOFT                          CompuServe [73267,1664]
  4736.                  P.O. Box 181030                                512-832-1675
  4737.                  Austin, TX 78718-1030                          800-367-7590
  4738.  
  4739.          Please use the back to give any comments you can think of about DX.
  4740.          What  do you think its best/worst features are?  Do  you  have  any
  4741.          suggestions? Complaints? (use the back if necessary)
  4742.  
  4743.  
  4744.  
  4745.  
  4746.  
  4747.  
  4748.  
  4749.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 69
  4750.  
  4751.  
  4752.  
  4753.  
  4754.  
  4755.          Directory eXtended                                      Version 2.0
  4756.  
  4757.  
  4758.  
  4759.  
  4760.  
  4761.  
  4762.  
  4763.  
  4764.  
  4765.  
  4766.  
  4767.  
  4768.  
  4769.  
  4770.  
  4771.  
  4772.  
  4773.  
  4774.  
  4775.  
  4776.  
  4777.  
  4778.  
  4779.  
  4780.  
  4781.  
  4782.  
  4783.  
  4784.  
  4785.  
  4786.  
  4787.  
  4788.  
  4789.  
  4790.  
  4791.  
  4792.  
  4793.  
  4794.  
  4795.  
  4796.  
  4797.  
  4798.  
  4799.  
  4800.  
  4801.  
  4802.  
  4803.  
  4804.  
  4805.  
  4806.  
  4807.  
  4808.  
  4809.  
  4810.  
  4811.  
  4812.  
  4813.  
  4814.  
  4815.          Page 70                                       0.0 Registration Form
  4816.  
  4817.  
  4818.  
  4819.  
  4820.  
  4821.          Version 2.0                                      Directory eXtended
  4822.  
  4823.  
  4824.  
  4825.  
  4826.  
  4827.  
  4828.  
  4829.  
  4830.  
  4831.                                    Index
  4832.  
  4833.  
  4834.                 /12 12                       /LIst 43, 44, 47
  4835.                 /ALign 16                    /MDir 36
  4836.                 /ALTernate 63                /MOve 29, 32, 33, 36,
  4837.                 /ANgle 16                       37, 38, 47
  4838.                 /ANSI 13                     /MSP 48
  4839.                 /APpend 35                   /NETaccess 62
  4840.                 .ARC See:                    /NLines 16
  4841.                    ARChive/LiBRary           /NONstd 61
  4842.                 /ARCDT 26                    /Output 9, 13, 14, 53,
  4843.                 /ATtr 6, 21, 41                 55
  4844.                 .BAK files 40                /OVerwrite 35, 43, 45
  4845.                 /Batch 9, 50, 53, 55         /Pause 9, 65
  4846.                 /BColor 13                   /PRint 14
  4847.                 /BEfore 23                   /PRMArg 15
  4848.                 ^Break 65                    /PRMode 15
  4849.                 ^C 65                        /Quiet 16
  4850.                 /CAse 12                     /RDir 36
  4851.                 /CDir 55                     /REName 32, 39
  4852.                 /CKsum 30                    /ROnly 43, 46
  4853.                 /Command 18                  /RUn 32, 43, 51, 53
  4854.                 /COMPare 32, 38              ^S 65
  4855.                 /COPy 29, 32, 33, 37,        /SINce 23
  4856.                    38, 47                    /SINGle 10
  4857.                 /COpy 35, 36                 /SIze 23
  4858.                 /CRC 30                      /SOrt 27
  4859.                 /DColor 13                   /STats 11, 20
  4860.                 /DEfer 32, 47, 48            /SWatch 65
  4861.                 /DELete 32, 42               /TAttr 37
  4862.                 /DOTstar 17, 18, 32          /TDate 24, 36
  4863.                 /EXec 50, 53, 55             /Totals 10, 65
  4864.                 /FAttr 32, 41                /Verify 43, 44
  4865.                 /FColor 13                   /Video 61
  4866.                 /FDate 24, 32, 40            /VIew 32, 43, 47
  4867.                 /FFind 9, 10, 11, 28,        /VLevel 34, 35, 37
  4868.                    32, 35, 47, 50            /Wide 9
  4869.                 /FSBlink 15, 29
  4870.                 /FSize 15, 29, 32, 47,       A
  4871.                    52                        abort 65
  4872.                 /Full 20, 41                 All 28
  4873.                 /GOBak 32, 40                ANSI 13
  4874.                 /HEader 11                   Append 45
  4875.                 /INfo 64                     append files 35
  4876.                 .LBR See:                    ARC See: ARChive/LiBRary
  4877.                    ARChive/LiBRary           ARchive 28
  4878.                 /Ldir 9, 11, 29
  4879.  
  4880.  
  4881.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 71
  4882.  
  4883.  
  4884.  
  4885.  
  4886.  
  4887.          Directory eXtended                                      Version 2.0
  4888.  
  4889.  
  4890.  
  4891.                 archive See:                    append ".*" 17
  4892.                    ARChive/LiBRary              ARChive/LiBRary
  4893.                 archive attribute See:          date/time 26
  4894.                    file attributes              colors 12, 13
  4895.                 ARChive/LiBRary                 compatibility 61, 62
  4896.                    comparing members 30,        create missing
  4897.                    39                           directories 36
  4898.                    date/time 26, 40             display format 9, 10,
  4899.                    directory 5, 7, 25           16
  4900.                    renaming members 39          environment variables
  4901.                    searching 28, 29             57
  4902.                    sorting 27                   header lines 11
  4903.                    template variables 49        memory utilization 64
  4904.                 Ask 45, 46                      number of lines 16
  4905.                 AUTOEXEC.BAT 57                 pattern separators 63
  4906.                                                 pausing the display 9
  4907.                 B                               print margins 15
  4908.                 BAKup files 40                  print mode 15
  4909.                 batch 43, 50, 53, 55, 60        remove empty
  4910.                    directories 56               directories 36
  4911.                    preview 55                   sorting 27
  4912.                 batch generation 49             statistics lines 11
  4913.                 Bios 61                         upper/lower case 12
  4914.                                                 verify level 37
  4915.                 C                               verify options 43,
  4916.                 CD 55                           44, 45, 46
  4917.                 CHDIR 55                        video handling 61
  4918.                 checksum 30                  Cyclic Redundancy Check
  4919.                 cluster size See: disk          30
  4920.                    allocation
  4921.                 colors 12                    D
  4922.                    background 13             date/time
  4923.                    directory 13                 12-hour format 12
  4924.                    foreground 13                ARChive/LiBRary 26
  4925.                    highlight 13                 current 24
  4926.                 column sorting 27               display 5, 10
  4927.                 Compare 38                      indirect reference
  4928.                 compare files 38                24, 36, 40
  4929.                 compatibility                   matching files 23
  4930.                    disk drives 61               setting file 40
  4931.                    network 62                   setting target 36
  4932.                    video 61                     sorting 27
  4933.                 Compressed 15                   specification 23
  4934.                 CONFIG.SYS 62                Default 38
  4935.                 configuration See:           defaults See:
  4936.                    customization                customization
  4937.                 copy files 33                defer special processing
  4938.                 create missing                  47
  4939.                    directories 36            deleting files 42
  4940.                 Criterr 62                   DIR 5, 16
  4941.                 critical error 62            Direct 61
  4942.                 customization                Directory 9, 28
  4943.                    12-hour format 12         directory attribute See:
  4944.                    /LIst processor 47           file attributes
  4945.  
  4946.  
  4947.          Page 72                                                   0.0 Index
  4948.  
  4949.  
  4950.  
  4951.  
  4952.  
  4953.          Version 2.0                                      Directory eXtended
  4954.  
  4955.  
  4956.  
  4957.                 DIRECTSnow 61                L
  4958.                 disk allocation 5, 10,       Larger 45
  4959.                    11, 29, 35, 42            LBR See: ARChive/LiBRary
  4960.                 display 5                    Library 28
  4961.                 display format 5, 9, 10,     library See:
  4962.                    11, 16, 29                   ARChive/LiBRary
  4963.                 DOS VERIFY See: VERIFY       LIST.COM 47
  4964.                                              list directories 29
  4965.                 E                            list of files 55
  4966.                 EGA 16                       list processor 47
  4967.                 environment variables 57     lock violation 62
  4968.                 Epson 14                     Log 26, 36, 47
  4969.                 ERRORLEVEL 60, 65            Lower 12
  4970.                                              lower-case 12
  4971.                 F
  4972.                 Fail 62                      M
  4973.                 feature summary 2            memory 64
  4974.                 file attributes              move files 33
  4975.                    batch generation 56       multi-pass special
  4976.                    display format 5, 6,         processing 48
  4977.                    10, 11                    Mustexist 45
  4978.                    hidden directories
  4979.                    22, 28                    N
  4980.                    indirect reference        network conflicts 62
  4981.                    37, 41                    Never 46
  4982.                    matching 20, 21           Newer 45
  4983.                    read-only handling        NO 45
  4984.                    44, 46                    Nolog 26, 36, 47
  4985.                    setting file 41           Normal 15
  4986.                    setting target 37         normal attribute See:
  4987.                    sorting 27                   file attributes
  4988.                 file find 28
  4989.                 file-matching 5, 6, 7,       O
  4990.                    18, 23, 28, 29, 56        Off 10, 38
  4991.                 file size 29                 Older 45
  4992.                 file size range 23           ON 38
  4993.                                              overwriting 45
  4994.                 G
  4995.                 Global 10                    P
  4996.                                              pattern matching See:
  4997.                 H                               file-matching
  4998.                 help 64                      pattern replacement 33
  4999.                 hidden attribute See:        PCED 63
  5000.                    file attributes           performance 62
  5001.                                              piping 14, 49, 50, 51,
  5002.                 I                               53, 54
  5003.                 Ibm 14                       print
  5004.                 Ifcompare 38                    compressed 15
  5005.                 Ignore 46                       formatting 14
  5006.                 Initial 12                      margins 15
  5007.                 initial caps 12                 mode 15
  5008.                 installation See:               number of lines 16
  5009.                    customization                tiny 15
  5010.  
  5011.  
  5012.  
  5013.          Copyright (C) 1985-1989, Robert K. Blaine/ECONO-SOFT        Page 73
  5014.  
  5015.  
  5016.  
  5017.  
  5018.  
  5019.          Directory eXtended                                      Version 2.0
  5020.  
  5021.  
  5022.  
  5023.                 R                            T
  5024.                 read-only attribute See:     target 32, 33, 35, 36
  5025.                    file attributes           target attributes 37
  5026.                 read-only handling 46        target date 36
  5027.                 redirection 14, 49, 50,      template 43, 47, 49, 50,
  5028.                    51, 52, 53                   52, 55
  5029.                 remove empty directories     template variables 49,
  5030.                    36                           51
  5031.                 rename files 39              time See: date/time
  5032.                 running files 43                execution 65
  5033.                                              Tiny 15
  5034.                 S
  5035.                 Screen 9                     U
  5036.                 screen size 16               Upper 12
  5037.                 searching 28                 upper-case 12
  5038.                 setting date/time 40
  5039.                 setting file attributes      V
  5040.                    41                        verification 37, 44
  5041.                 ShareWare 4                  VERIFY 35, 37
  5042.                 sharing violation 62         verify options 43
  5043.                 size range 23                verify questions 44
  5044.                 Smaller 45                   VGA 16
  5045.                 sorting 27                   viewing files 43
  5046.                 special processing 32,
  5047.                    47, 48                    W
  5048.                    defer 47                  Wait 62
  5049.                    multi-pass 48
  5050.                 statistics 65                Y
  5051.                 Subtotals 10                 Yes 45
  5052.                 system attribute See:
  5053.                    file attributes
  5054.  
  5055.  
  5056.  
  5057.  
  5058.  
  5059.  
  5060.  
  5061.  
  5062.  
  5063.  
  5064.  
  5065.  
  5066.  
  5067.  
  5068.  
  5069.  
  5070.  
  5071.  
  5072.  
  5073.  
  5074.  
  5075.  
  5076.  
  5077.  
  5078.  
  5079.          Page 74                                                   0.0 Index
  5080.  
  5081.  
  5082.  
  5083.